JS/jQuery实现默认显示部分文字点击按钮显示全部内容
2013-05-13 00:00
976 查看
<!doctype html> <html> <head> <meta charset="utf-8"> <title>JS实现默认显示部分文字,点击按钮显示全部</title> </head> <body> <div id="box"> <h2>民间机构提前3天预报大理地震 地震局称违法</h2> <p>17日大理州5.0级地震发生之后,在微博上一条曾在3天前就预测大理将发生5.0级地震的微博受到了很多网友的关注。</p> <p>记者联系上了微博博主,该博主表示,他是通过分析云南省地震局官方网站的数据得出的预报信息。对此,省地震局回应表示,地震局欢迎民间机构与地震局进行一些学术上的探讨和交流,但民间机构对外公开发布地震预报信息是违法的。</p> <p><strong>民间机构预报地震受网友追捧</strong></p> <p>“预计72小时内黑色圈圈内的地区都将有一次较强震感,初步锁定为5级地震,浅源,发生的位置主要是云南东北昭通(余震)、大理西南部和腾冲交界区域、和缅甸交界区域一线(地壳运动所致)云南巧家县和四川宁南县交界区域。”早在4月14日凌晨时分,微博名为“预报中心”的网民就在微博上发布了云南地震预报信息。该微博被网友转发了377次。在大理5.0级地震发生后,“小丛”等知名网友都转发了该微博。“跪了。”知名网友“小丛”在微博上表示。</p> <p>在大理5.0级地震发生之前,“预报中心”还陆续发布了3条地震预报的微博,并附有预报将发生地震的地图,及一张昆明地震监测点的原始数据图。</p> <p>这一微博得到了一些网友的转发及称赞。“顶,预报高手在民间,持续关注中。”网民“orfila2011”在评论中表示;“陕西蓝天救援队”官方微博也表示,民间在地震预测工作中有价值的经验方法,有关部门应给予足够的重视。</p> <p><strong>预报根据省地震局数据分析得出</strong></p> <p>该民间地震预报微博的资料显示,所在地位于湖北。“很久以前,该微博就已经在微博上播报地震预测信息,但一直很神秘。”有网友表示。昨日,记者通过微博联系上这一神秘民间地震预报机构。</p> <p>该民间机构是怎样获得地震预报信息的?该微博博主向记者表示,他们是根据云南省地震局官网云南地震数据共享中心查询到了云南省内的一些地震监测数据,分析得出的预报信息。记者发现,确实可以通过该网站查到云南各地震监测点的预处理数据。</p> <p>>该微博博主还透露,分析这些相关数据需要很多专业知识,但并不需要仪器。对于民间机构预报地震的动力,该博主表示“物质和精神都有”。对于其他信息,该博主不愿意更多透露。</p> <p><strong>省地震局:民间仅限于学术交流</strong></p> <p>“地震预测预报必须遵守相应的法律法规。”省地震局科学技术处处长、新闻发言人张俊伟在接受记者采访时表示,根据我国法律,任何个人或民间机构对外发布地震预报信息都是违法行为。</p> <p>国家《地震预报管理条例》规定,省、自治区、直辖市的地震长期预报、地震中期预报、地震短期预报和临震预报,由省、自治区、直辖市人民政府发布。</p> <p>对于这些民间的地震预报机构,张俊伟表示,云南省地震局一直都有所关注和了解。除了本次发布预报信息的“预报中心”外,这样的民间地震预报机构及人士还有很多。对于有网友提出能否加强官与民的合作交流。张俊伟表示,目前他个人并没有与这些民间机构取得过联系,但地震局对这些民间机构一直抱着包容与开放的态度,欢迎其与地震局进行学术探讨和交流。</p> <p>“但另一方面,对外公开发布地震预报信息始终是违法的。我们对这些公开发布地震预报信息的民间机构也很头痛,担心给社会带来不良的影响。”张俊伟认为,市民、网友不应采信民间机构发布的地震预报消息。</p> </div> <script> function show(){ var box = document.getElementById("box"); var text = box.innerHTML; var newBox = document.createElement("div"); var btn = document.createElement("a"); newBox.innerHTML = text.substring(0,200); btn.innerHTML = text.length > 200 ? "...显示全部" : ""; btn.href = "###"; btn.onclick = function(){ if (btn.innerHTML == "...显示全部"){ btn.innerHTML = "收起"; newBox.innerHTML = text; }else{ btn.innerHTML = "...显示全部"; newBox.innerHTML = text.substring(0,200); } } box.innerHTML = ""; box.appendChild(newBox); box.appendChild(btn); } show(); </script> </body> </html>
jQuery插件:jquery.limittext.js
/** * demo: * 1.$("#limittext").limittext(); * 2.$("#limittext").limittext({"limit":1}); * 3.$("#limittext").limittext({"limit":1,"fill":"......","morefn":{"status":true}}); * 4.$("#limittext").limittext({"limit":1,"fill":"......","morefn":{"status":true,"moretext":"更多","lesstext":"隐藏部分","fullfn":function(){alert("more")},"lessfn":function(){alert("less")}}}) * 5.$("#limittext").limittext({"limit":1,"fill":"......","morefn":{"status":true}}).limit("all"); * @param {Object} opt * { * limit:30,//显示文字个数 * fill:'...'//隐藏时候填充的文字 * morefn:{ * status:false,//是否启用更多 * moretext: "(more)",//隐藏部分文字时候显示的文字 * lesstext:"(less)",//全部文字时候显示的文字 * cssclass:"limittextclass",//启用更多的A标签的CSS类名 * lessfn:function(){},//当文字为更少显示时候回调函数 * fullfn:function(){}//当文字为更多时候回调函数 * } * @author Lonely * @link http://www.liushan.net * @Download:http://down.liehuo.net * @version 0.2 */ jQuery.fn.extend({ limittext:function(opt){ opt=$.extend({ "limit":30, "fill":"..." },opt); opt.morefn=$.extend({ "status": false, "moretext": "(more)", "lesstext":"(less)", "cssclass": "limittextclass", "lessfn": function(){ }, "fullfn": function(){ } },opt.morefn); var othis=this; var $this=$(othis); var body=$this.data('body'); if(body==null){ body=$this.html(); $this.data('body',body); } var getbuttom=function(showtext){ return "<a href='javascript:;' class='" +opt.morefn.cssclass+"'>" +showtext +"<a>"; } this.limit=function(limit){ if(body.length<=limit||limit=='all'){ var showbody=body+(opt.morefn.status?getbuttom(opt.morefn.lesstext):""); }else{ if(!opt.morefn.status){ var showbody=body.substring(0,limit) +opt.fill; }else{ var showbody=body.substring(0,limit) +opt.fill +getbuttom(opt.morefn.moretext); } } $this.html(showbody); } this.limit(opt.limit); $("."+opt.morefn.cssclass).live("click",function(){ if($(this).html()==opt.morefn.moretext){ showbody=body +getbuttom(opt.morefn.lesstext); $this.html(showbody); opt.morefn.fullfn(); }else{ othis.limit(opt.limit); opt.morefn.lessfn(); } }); return this; } });
相关文章推荐
- JS/jQuery实现默认显示部分文字点击按钮显示全部内容
- JS实现默认显示部分文字点击按钮显示全部内容
- jQuery 实现全部到精简的转换 点击“显示全部品牌按钮”显示到第二幅图,个别文字高亮显示,并且“显示全部品牌”按钮文字变为“精简显示品牌”并且向上向下箭头改变,用JQuery实现本功能。
- js实现当页面文字过长时用...表示,当点击时显示全部内容
- JS实现显示部分文字点击显示全部
- jquery 实现超出部分隐藏,鼠标移动上显示全部文字
- jquery 实现超出部分隐藏,鼠标移动上显示全部文字
- android gridview默认显示部分数据,点击按钮显示全部,再点击回到默认状态,选中变颜色
- js实现点击按钮出现输入框本地修改文字内容功能
- JS简单实现点击按钮或文字显示遮罩层的方法
- jquery选择器(内容部分显示点击全部显示)
- 1怎样让输入的text文本填写的部分只添加数字、2怎样将输入的数字一次性全部删除 3怎样选择密码 让它不显示 4 怎样实现在没有return的情况下点击button的情况下就能够使键盘页面下落5 怎样实现点击指定的button来对使指定的text进行键盘弹出 6怎样改变button按钮的状态
- 原生JS实现点击按钮显示更多内容
- jquery 实现超出部分隐藏,鼠标移动上显示全部文字
- jquery 实现超出部分隐藏,鼠标移动上显示全部文字 .
- 如何实现js展开收起(折叠)效果呢?例如:一段内容过长了,我限制他显示为20个字内,但是超出了20的就先用省略号代替,然后后面添加一个展开,点击展开后就显示所有的内容,这时候展开按钮就变成了 折叠按钮
- 默认只显示指定高度,出来按钮 阅读更多,加载全文,点击后显示全文的实现方式
- JS实现点击链接切换显示隐藏内容的方法
- js点击列表文字对应该行显示背景颜色的实现代码
- iOS 可延展视图(点击前显示部分文字,点击后显示全部)