JavaScript一行代码 轻松修复浮动快捷方式消息-V2升级版
前天大部分时间都在发一篇文章【一行代码轻松搞定快速消息功能】,同时发布了V1.0beta版的快速消息功能和源代码。之所以是测试版,是因为我觉得虽然基本功能都有,但是还不够完善,功能也不一定合理。今天在不知情的情况下得到了这个时间,这次我对之前的版本做了一个很大的改进:第一,原来自动提交的消息信息会同时自动推荐,直接大量推荐。其次,虽然快捷功能可用且易于使用,但屏幕上却充斥着“好贴纸!我会支持你的!”确实有些审美疲劳,没有实际意义。信息只有在能够产生互动时才有价值。因此,V2注重在互动模式中改进原有的形式。新版本的快速消息相当于浮动博客公园的原始消息框和推荐,并将其显示在屏幕右侧的垂直中心位置。目的是让用户方便快捷地留言。最后,新版本的快捷消息功能完全支持上一版本用户透明升级,这意味着使用上一版本的用户应该已经在自己的博客中看到了最新版本的界面和功能!这里再说一遍,jMsg的用法和之前一模一样:其实用法真的很简单,只是在【后台管理】-【设置】-【顶部Html代码】的文本框中。只需填写以下句子。复制代码如下。 //放在【后台管理】-【设置】-【顶部Html代码】的文本框中。脚本语言=' JavaScript '类型=' Text/JavaScript ' src=' http:http://files.cnblogs.com/justinw/jmsg.js'/script如下图所示:。
新jMsg的具体功能细节已经在上图中详细描述过了,我就不再赘述了。以下是新版本的源代码,还有很多功能特性需要改进。比如界面效果可以再美化一下,现在只提供最简单的风格。欢迎您批评和纠正代码和功能设计。与上一版相比,代码的组织形式发生了很大的变化,在这里可以获得上一版的源代码。新版源代码如下:复制代码如下: //作者:Justin //来源:http://justinw.cnblogs.com///Copyright:请保留来源。//版本:V2.0 //上次更新时间:201004020037 //备注:如有疑问可优先在http://www.cnblogs.com/justinw/archive/2010/03/30/1700190.html.留言//更新://1.v2在V1beta的基础上有了很大的提升,交互方式和功能合理性都有了实质性的提升。//-begin-jMsg-jMsg=function(){ var chkRecomend=false;} jmsg . prototype={//initialize action initialize : function(){ jmsg . load event(this . batch);this . msgdiv();},dispose : function(){//to something.},//提交消息信息post:函数(msg) {//这里,通过判断HaveUp标志,防止同一条消息重复提交。如果(window.top.HaveUp) {alert('您已经通过了!谢谢朋友:));返回false} if (msg。修剪()。length==0) {alert('无论如何请留言!');返回false} else if (msg。修剪()。length1000) {alert('这位同学,快捷信息最多可支持1000个字符!');返回false} var txt=document . getelementbyid(' tbCommentBody ');if (txt!=null){ txt . style . background COlOr=' # E4F 5ff ';var Date=new Date();txt.value=msgtxt . focus();//如果您提交了一次快捷方式消息,则HaveUp设置为true。//每次重新进入页面,HaveUp都会被初始化。window . top . HaVeup=true;//这是Blog Park用来提交消息的方法,你就是通过这里提交消息的。//如果不登录直接在客户端调用这个方法,会在内部抛出错误。(博主park的代码问题,没有空判断)var rlt=postcmment();this . setmsgtext(“”);返回真;} else {//目前,博客园区存在功能限制。只有登录后才能提交消息。//如果没有找到tbCommentBody元素,可以认为当前用户没有登录。提醒('您需要先登录才能使用Blog Park的留言功能!');返回false}},//推荐推荐: function(){ var digit=jmsg . getelementsbyclassname(' digit ');if((Digg it)(Digg it[0]){ Digg it[0]。onclick();} else { alert(' debug :推荐按钮的ClassName已被重命名!');}},//反对combat : function(){ var buryitmsg=function(){//目前Blog Park的推荐和反对都是匿名的,我当然希望知道被反对的原因。//这个功能只能防君子,不能防小人。它只是给出了一个提示。var txt=document . getelementbyid(' tbCommentBody ');if (txt!=null) {alert('这位同学,我非常希望听到你的宝贵意见,请给我们一些建议……');txt . style . background COlOr=' # Fe 9 ab 3 ';txt . focus();} } var buryit=jmsg . getelementsbyclassname(' buryit ');if((bury it)(bury it[0]){ jmsg . addevent(bury it[0],' click ',bury itmsg);}},//推荐super post :函数(msg) {if (this。post(msg)){//这里增加了查询功能,并且自动直接推荐if (this。chk恢复了){这个。不支持推荐();} else {if (confirm)(“您想同时推荐这篇文章吗?”)){ this . recommend();}}}},//快捷消息的浮动导航栏msgdiv : function(){//是否出现浮动栏。
if(!(window.location.href.indexOf(').html') -1))返回;//动态计算浮动滚动条的位置last scrolly=0;var beat=function(){ var Diffy;if(文档。文档元素文档。文档元素。向上滚动)diffY=文档。文档元素。滚动顶部;else if(文档。body)diffY=文档。尸体。向上滚动其他{/*网景素材*/}百分比=。1 *(Diffy-最后一次滚动);如果(百分比0)百分比=数学上限(百分比);否则百分比=数学下限(百分比);文件。getelementbyid(' msgDiv ')。风格。top=parsent(文档。getelementbyid(' msgDiv ')。风格。top)百分比“px”;最后一次百分比;}文档。写(这个。getmsgboxhtml());window.setInterval(节拍,120);},getMsgBoxHTML:函数(){ var _ HTML=_ HTML=' div id=\ ' MSgdiv ' style=\ ' width :265 px;z指数:2010;right :15 xtop :400 px位置:绝对;\'';_HTML='表格边框=\'0 '单元格间距=\'0 '单元格填充=\ ' 0 \ ';_ HTML=' t body _ HTML=' trtd col span=\ ' 2 '文本区域id=\ ' jmsg ' title=\ '使用快捷留言,想说就说!\ ' style=\ ' border-color :海军;背景-颜色:透明;宽度宽度:265px高度' :100px\ '文章不错,支持!/文本区/TD/tr ';_ HTML=' trtd style=\ ' width :200 px ' input title=\ ' Alt Enter ' name=\ ' Postjmsg ' type=\ ' submit ' onclick=\ ' $ jmsg。超级市场(jmsg)。getmsgtext());返回' false\ '值=\ '提交\ ' style=\ ' width :80 px \ '/';_ HTML=' a id=\ ' passBy ' onclick=\ ' $ jmsg。setmsgtext('路过.');返回false \ ' href=\ ' # # # \ '路过/a ';_HTML='输入名称=\ ' chkjMsg ' type=\ ' checkbox ' onclick=\ ' $ jmsg。setchkrecomend(这个。选中);\'/推荐/tdtd style=\ ' font-size : small;向右文本对齐:垂直对齐。cn博客。com ' target=\ ' _ blank ' Justin/a/TD/tr ';_ HTML='/t正文/表格';_ HTML='/div ';return _ HTML},setMsgText:函数(txt){ var area=document。getelementbyid(' jmsg ');area.value=txt},getMsgText:函数(){ var area=document。getelementbyid(' jmsg ');返回area.value},setChkRecomend:函数{这个。chkrecomend=val} } //附加装载事件jmsg。load event=function(fn){ var oldonLoad=window。onLoadwindow.onload!=' function '){ window。onload=fn} else { window。onload=function(){ oldonload();fn();} } } //附加事件jMsg.addEvent=function(obj,type,fn){ if(obj。addeventlistener)obj。addeventlistener(类型,fn,true);否则如果。attachevent){ obj。attachevent(' on '类型,function(){ fn();});} } //通过类名找到数字正射影像图元素jmsg。getelementsbyclassname=function(n){ var El=[],_ El=document。getelementsbytagname(' * ');for(var I=0;i _ el.lengthi ) { if (_el[i]).CLaSS NAmE=(n){ El[El。长度]=_ El[I];} }返回El;}字符串。原型。trim=function(){ return this.replace(/(^\s*)|(\s*$)/g,' ';}////-end-jMsg-//todo :提供设置是否显示浮动条的接口//todo:提供完全自定义浮动条内容的接口//todo:提供浮动以外的交互模式接口var $ jMsg=new jMsg();$ jmsg。初始化();作者:贾斯汀出处:http://justinw.cnblogs.com/
版权声明:JavaScript一行代码 轻松修复浮动快捷方式消息-V2升级版是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。