歪酷博客

诊疗日程表
医院平面图
  1. · 所有网志
  2. · 公告栏
  3. · 草坪
  4. · 会诊大厅
  5. · 内科
  6. · 外科
  7. · 儿科
  8. · 太平间
  9. · 办公室
  10. · 康乐室
  11. · 知识角
寻物启事
医院车站

石壳无心

[ 它能给你想要的,而不是给你需要的。] -—— 惧像召唤师布蕾德

« 上一篇: 小歪启用新版模板系统了 下一篇: 散落一地的梦与真实 »
无心石 @ 2007-04-07 23:05

本来,这段代码可以放在“模版完全DIY”的HTML代码中的,但是这样有一个问题,就是当更换模板的时候,所有代码会重置。所以我认为把这些代码作为一个个的自定义的HTML模块来添加上去会更好一些,这样不但易于管理,而且就算更换模板也不会影响效果。

首先,在管理中选择“模块”,然后选择添加“自写HTML代码”,添加上以下的代码:

<script>
function addtext(s){
        document.getElementsByTagName("textarea")[0].value = document.getElementsByTagName("textarea")[0].value + s
    }
    var urlBase,picName,smileyCode,smileyReg;
    var imgbr=9; //对于IE6需设置每行排列的图标数目
    function addFeelingIcon() {
        if(document.forms["replyForm"]){
            var i, j;
            urlBase = "http://sta.yculblog.com/images/smiley/1/";
            picName = new Array("1", "2", "3", "4", "5", "6", "7", "8", "10", "11", "19", "20");
            smileyCode = new Array("[:-)]", "[:-(]", "[XD]", "[;-)]", "[*^_^*]", "[:-O]", "[o_O]", "[T_T]", "[-_-b]", "[:-D]", "[#_#]", "[^.^]");
            smileyReg = new Array(/\[:-\)\]/g, /\[:-\(\]/g, /\[XD\]/g, /\[;-\)\]/g, /\[\*\^_\^\*\]/g, /\[:-O\]/g, /\[o_O\]/g, /\[T_T\]/g, /\[-_-b\]/g, /\[:-D\]/g, /\[#_#\]/g, /\[\^\.\^\]/g);
            var s2="";
            for(i=0; i < picName.length; i++){
                s2 +=  "<img src='" + urlBase+picName[i] + ".gif' alt='' style='cursor:pointer;' onclick='addtext(\"" + smileyCode[i] + "\");' />";
                if ((i+1)%imgbr==0) {
                    if (navigator.appVersion.indexOf("MSIE") != -1) s2 +="<br />"
                }
            }
            var feeltr=document.forms["replyForm"].getElementsByTagName("table")[1].insertRow(3);
            var feelth=feeltr.appendChild(document.createElement("th"));
            feelth.innerHTML="表情";
            var feeltd=feeltr.appendChild(document.createElement("td"));
            feeltd.innerHTML=s2;
            feeltd.id="feelimg";   
            var reply_content= document.getElementById("content").getElementsByTagName("p");
            for(i=0; i < reply_content.length; i++){
                for(j=0; j < smileyReg.length; j++)
                    reply_content[i].innerHTML = reply_content[i].innerHTML.replace( smileyReg[j], "<img src='" + urlBase + picName[j] + ".gif' alt='' />" );
            }
           
        }
    }
addFeelingIcon();
</script>

<style id="feelimgcss">
#feelimg {
    padding-left:10px;
}
#feelimg img {
    background:url("");
    border:0;
    margin:0;
    padding:0 1px;
}
</style>

这段代码,我相信大家应该都相当的熟悉了,这是石头兔版权所有的那个添加表情图标的代码,我把它稍微修改了一下,使它在新模板下可用。这里要注意的地方有2个:

1 ,<style id="feelimgcss">这个标签后面的是表情图标的样式,我是觉得原来的样式不太适合,所以修改了一下。也就是说,这个标签一直到结尾的 </style>标签之间的部分都是可选项,大家可根据自己的实际需要修改。

2,代码中间有一句:   “var imgbr=9; //对于IE6需设置每行排列的图标数目”     意思是说,要在IE6下面取得较好的显示效果,你需要根据自己的模板和添加的图标的实际情况,来确定你每行要放多少个图标。这个设置只在IE6下面生效。在FX下,图标会自动换行,无需设置这个值。而IE7我并未测试过,希望各位能告诉我在IE7下面的情况。

以上是第一步,但是如果我们就这样保存的话,版面上会出现一个内容空白,名为“自写HTML代码”的模块,这显然有碍观瞻,所以我们需要修改一下这个模块的名字,把“自写HTML代码”改名为“hideXXXXX”,这个XXXXX随便你写什么都可以,但是最前面一定要有hide这个单词,至于为什么要这样后面再说。我的模块的名字就叫做“hide添加表情图标”,仅供参考。然后就可以按保存了。

然后,再次添加另一块新的“自写HTML代码”,并添加以下的代码:

<script>
var h2_all=document.getElementById("sidebar").getElementsByTagName("h2");
    for (var i=0;i<h2_all.length;i++) {                   
        if (h2_all[i].innerHTML.substr(0,4)=="hide"){
            h2_all[i].parentNode.style.display="none";
        }
    }
</script>

这个模块的作用,就是把所有名字前面为“hide”的模块隐藏起来,就不会影响美观了。所以,必须注意的是,这个模块务必要将它排在所有模块的最后,否则它就发挥不出作用。另外,建议把所有这类型的模块放在一起,便于日后管理。最后,你可以把这个模块改名为“hide将模块隐藏的代码”,然后保存。

代码在IE6和FX2下通过,如果在使用上遇到什么问题,请在此留言,或在新模板小组中我所发的帖子留言也可以。

4.15更新:由于博友反映,在IE7下表情图标不能自动换行的问题仍然存在,所以我修改了代码,现在只要你设置了每行显示的图标数目,在IE7下也可以正常换行了。

4.19更新:由于小歪作出了不可理喻的代码修改,所以我也只好再次修改了一下代码。现在在IE下面也可以正常显示了。


曾经的这一天...


最新评论 (点击这里查看更早的所有评论...)

2007-04-20 21:14

我也想把那兔子弄没,咋办阿[T_T]



登高远眺

2007-04-23 22:37 匿名 210.32.*.*

石头兔 2007-04-18 18:54:48

大家不要着急,用了我的表情图标脚本,而目前不见的解决办法:

找到代码的
inputs[i].getAttribute("name") == "url"

改为
inputs[i].getAttribute("name") == "replier_url"


可是怎么在上面的自定义脚本中,找不到你说的命令啊??


2007-05-05 10:29 网址: http://catcomte.ycool.com/

大大救救 TAT..

突然发现Hide的代码无效诶~~

咱的确放在最后的说~


2007-05-06 10:27

[XD]

再次来感谢XD~


2007-05-08 17:32 网址: http://xianyuepp.ycool.com/

谢谢指点。
对于我来说,如何利用好新模板还有很多需要学习啊~
其实有些功能小歪真的应该提供的。一方面,是便于低端用户使用;另一方面,可以优化响应速度。
我在打开这个页面的时候,刷的时间就比较长,而且,明显地看到开始那些链接和链接分类都是一个显示格式,之后屏幕又闪了一次(估计是运行到你后面hide的那些代码了,呵呵),才显示出来最终的效果。
以后有问题我要多请教你啦~
现在我还在期待着小歪能再开启那个在定义链接处设置颜色的功能,所以,不舍得把以前定义的那些链接改掉。我以前的链接里面还有在一个链接中不同字符不同颜色的设置呢(为了突出字头两个字母),不知道怎样实现。我看我还是先用回原来的模板,学习你开一个test的琢磨练习下了。


2007-05-12 17:30 网址: http://xianyuepp.ycool.com/

我copy/paste了上面的代码
果然隐藏了该隐藏的模块
而且出现了上面的表情图标
但是那些兔子图标还在
不知如何隐藏呢


2007-07-23 18:17

最后的那个隐藏,我试的只隐藏了它自己……前面的几个hide都没隐藏


2007-07-29 11:53 网址: http://ok568651443.ycool.com/

那是把代码插到了那两个hide里面去了。


2008-06-01 17:43

俺也索,介個表情有了,兔子滴表情也還在哈,俺索小白,望高手指點哈。


2008-10-20 15:13

大大帮忙啊,我按照代码添加的,为什么表情图标一个个都变得超级大啊[T_T]


评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定