Maison >interface Web >js tutoriel >Implémentation JS des compétences code_javascript de l'effet de défilement du contenu du texte du lobby Sina Weibo
L'exemple de cet article décrit l'implémentation JS du code d'effet de défilement du contenu textuel dans le lobby Sina Weibo. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Tweets-slide défilants dans le lobby Sina Weibo, implémentés en JavaScript. Il semble que de nombreux amis aient besoin de cette fonction ces jours-ci. J'en ai posté quelques-uns ces derniers jours, mais aujourd'hui, j'ai trouvé que celle-ci est encore meilleure. Je ne l'utilise pas exclusivement. J'espère que les amis dans le besoin l'apprécieront.
La capture d'écran de l'effet en cours d'exécution est la suivante :
L'adresse de la démo en ligne est la suivante :
http://demo.jb51.net/js/2015/js-sina-txt-scroll-tweets-slide-codes/
Le code spécifique est le suivant :
<!doctype html> <html> <head> <title>新浪微博大厅滚动tweets-slide</title> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <style type="text/css"> ul, li {margin:0; padding:0;list-style:none} body { margin: 0; height: 100%; background: #333; } .wp { position: relative; width: 800px; height: 400px; overflow: hidden; margin: 20px auto; border: 4px solid #121212; background: #fff; } .slider { position: absolute; width: 760px; padding: 0 20px; left:0; top: 0; } .fl {float:left} .slider img {display:block; padding: 2px; border: 1px solid #ccc} .slider li {padding: 20px 0; border-bottom: 1px dashed #ccc;overflow:hidden;width:100%} .slider p {font-size: 12px;margin:0;padding-left:68px;color:#333;line-height:20px;} </style> <script type="text/javascript"> function H$(i) {return document.getElementById(i)} function H$$(c, p) {return p.getElementsByTagName(c)} var slider = 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> <body> <div class="wp"> <ul id="slider" class="slider"> <li><a class="fl" href="javascript:;"><img src="images/u160412.jpg" alt="" /></a> <p>曾虑多情损梵行 入山又恐别倾城 世间安得双全法 不负如来不负卿</p> </li> <li><a class="fl" href="javascript:;"><img src="images/u160412.jpg" alt="" /></a> <p>第一最好不相见,如此便可不相恋。 第二最好不相知,如此便可不相思。<br/> 第三最好不相伴,如此便可不相欠。 第四最好不相惜,如此便可不相忆。<br/> 第五最好不相爱,如此便可不相弃。 </li> <li><a class="fl" href="javascript:;"><img src="images/u160412.jpg" alt="" /></a> <p>人生若只如初见,何事秋风悲画扇。 等闲变却故人心,却道故人心易变。<br/> 骊山语罢清宵半,泪雨零铃终不怨。 何如薄幸锦衣郎,比翼连枝当日愿。</p> </li> <li><a class="fl" href="javascript:;"><img src="images/u160412.jpg" alt="" /></a> <p>今天天气不错,我们都出来郊游了,可不一会就下起了雨,都淋湿了,但心情很爽噢。<br/>必竟我们不怎么出来玩,一出来就碰到了雨,很荣幸哦!</p> </li> </ul> </div> <script type="text/javascript"> new slider({id:'slider'}) </script> </body> </html>
J'espère que cet article sera utile à tout le monde dans la programmation JavaScript.