本帖最后由 蛇镜眼是不蛇某 于 2013-4-8 09:44 编辑
首先申明:这个是根据之前有人发布的滚动记录(就是空间里的“记录”)修改得到的,并非本人原创。因为网上传的到处都是,所以我也不知道原作者是谁了,如有侵权请斑竹删帖。。。
X2最新演示页(页面右上角):
http://www.wenliren.com/topic-2012xinsheng.html
之前是记录滚动的效果;
现在只需要修改模块数据里的一些参数,既可以实现对论坛帖子的滚动调用
本站已经使用,详见演示:http://www.wenliren.com/topic-2012xinsheng.html
(我的这个现在调用的是帖子标题+内容,当然,你也可以发挥自己的创造力,修改成只调用标题或者其他。。。)
使用方法:
1.DIY---添加帖子模块---(初步调用自己随便设定,主题、主题+摘要等都可以)
2.将以下代码复制到模块数据里(覆盖掉原来的),保存即可。[高度可以在代码里自己改,第三行,改成你觉得合适的就可以了]- <style type="text/css">
- ul,li{list-style:none;}
- .wplck{position:relative;height:462px;overflow:hidden;margin:0px auto; }
- .sliderlck{position:absolute;width:98%;}
- .fllck{float:left;}
- .sliderlck img{display:inline;padding:2px;border:0}
- .sliderlck li{padding:5px 0;border-bottom:1px dashed #ccc;overflow:hidden;width:100%;}
- .sliderlck p{font-size:12px;padding-left:46px;color:#666;line-height:18px;}
- </style>
- <script type="text/javascript">
- function H$(i) {return document.getElementById(i)}
- function H$$(c, p) {return p.getElementsByTagName(c)}
- var sliderlck = function () {
- function init (o) {
- this.id = o.id;
- this.at = o.auto ? o.auto : 3;
- this.o = 0;
- this.pos();
- }
- init.prototype = {
- pos : function () {
- clearInterval(this.__b);
- this.o = 0;
- var el = H$(this.id), li = H$$('li', el), l = li.length;
- var _t = li[l-1].offsetHeight;
- var cl = li[l-1].cloneNode(true);
- cl.style.opacity = 0; cl.style.filter = 'alpha(opacity=0)';
- el.insertBefore(cl, el.firstChild);
- el.style.top = -_t + 'px';
- this.anim();
- },
- anim : function () {
- var _this = this;
- this.__a = setInterval(function(){_this.animH()}, 20);
- },
- animH : function () {
- var _t = parseInt(H$(this.id).style.top), _this = this;
- if (_t >= -1) {
- clearInterval(this.__a);
- H$(this.id).style.top = 0;
- var list = H$$('li',H$(this.id));
- H$(this.id).removeChild(list[list.length-1]);
- this.__c = setInterval(function(){_this.animO()}, 20);
- //this.auto();
- }else {
- var __t = Math.abs(_t) - Math.ceil(Math.abs(_t)*.07);
- H$(this.id).style.top = -__t + 'px';
- }
- },
- animO : function () {
- this.o += 2;
- if (this.o == 100) {
- clearInterval(this.__c);
- H$$('li',H$(this.id))[0].style.opacity = 1;
- H$$('li',H$(this.id))[0].style.filter = 'alpha(opacity=100)';
- this.auto();
- }else {
- H$$('li',H$(this.id))[0].style.opacity = this.o/100;
- H$$('li',H$(this.id))[0].style.filter = 'alpha(opacity='+this.o+')';
- }
- },
- auto : function () {
- var _this = this;
- this.__b = setInterval(function(){_this.pos()}, this.at*1000);
- }
- }
- return init;
- }();
- </script>
- </head>
- <div class="wplck">
- <ul id="sliderlck" class="sliderlck">
- [loop]
- <li>
- <a class="fllck" href="home.php?mod=space&uid={authorid}" {target}><img src="{avatar}" width="33" height="33" alt="{author}" /></a>
- <p><a href="{url}" title="{title}"{target}>{title}</a></p>
- <p><em class="xg1 xw0">{summary}</em> <a style="color:#CCC" href="{url}"{target}>[详细]</a></p>
- </li>
- [/loop]
- </ul>
- </div>
- <script type="text/javascript">
- new sliderlck({id:'sliderlck'})
- </script>
复制代码 PS:代码已经更新与图片演示相同,更新于2013年4月8日。
非常抱歉,之前手误,贴的代码有点小问题,确实不会滚动,已经更新~
|