ホームページ > 記事 > ウェブフロントエンド > 新浪微博ロビーテキストコンテンツスクロール効果コードのJS実装_javascriptスキル
この記事の例では、Sina Weibo ロビーでのテキスト コンテンツのスクロール効果コードの JS 実装について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
Sina Weibo のロビー スクロール ツイート スライド、JavaScript で実装されています。最近、多くの友人がこの機能を必要としているようです。ここ数日でいくつか投稿しましたが、今日はこれがさらに優れていることに気づきました。独占的に使うのではなく、困っている友達が気に入ってくれると嬉しいです。
実行中のエフェクトのスクリーンショットは次のとおりです:
オンライン デモのアドレスは次のとおりです:
http://demo.jb51.net/js/2015/js-sina-txt-scroll-tweets-slide-codes/
具体的なコードは次のとおりです:
<!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>
この記事が JavaScript プログラミングのすべての人に役立つことを願っています。