首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

新浪微博正厅和腾讯微博首页滚动效果

2012-09-05 
新浪微博大厅和腾讯微博首页滚动效果新浪微博未登录首页有一个“大家正在说”的模块,动态滚动最新发布的微博

新浪微博大厅和腾讯微博首页滚动效果

新浪微博未登录首页有一个“大家正在说”的模块,动态滚动最新发布的微博。从需求上来说,这个功能需要实时调用最新的微博数据,单就

综合代码如下:

HTML

<div class="messagewrap"><ul><li><!–多个li,请自行复制或者设置重复区域–></li></ul><div class="bottomcover"><!–为了符合w3c要求不能有空标签的要求,此处可选择写一个&nbsp;–></div></div>

?

?

?

CSS

.messagewrap{overflow:hidden;position:relative;width:500px;height:300px}li{height:50px;}.bottomcover{width:500px;height:45px;position:absolute;bottom:0;left:0; pointer-events:none;background:url(halftransp.png) left bottom no-repeat; /*某从背景色向上渐变透明图片*/ _display:none;/*针对IE6体验降级*/}

?

?

?

?

JS

<script>$(function(){msgmove(); $("ul").hover(function(){$(this).attr("name","hovered"); //鼠标经过设置ul的name值为"hovered"},function(){$(this).removeAttr("name");});});function msgmove(){ var isIE=!!window.ActiveXObject;var isIE6=isIE&&!window.XMLHttpRequest;if($("ul").attr("name") != "hovered"){//判断ul的name属性是否为"hovered",决定下面代码块是否运行,以实现鼠标经过暂停滚动。var height = $("li:last").height();if(isIE6){//判断IE6,jQuery的animate动画和opacity透明在一起使用在IE6中会出现中文重影现象,//所以在ie6中实行透明的禁用。$("li:last").css({"height":0});}else{ $("li:last").css({"opacity":0,"height":0});//列表最后的li透明和高度设置为0 }$("li:first").before($("li:last"));//把列表最后的li提升到顶部,实现有限列表项无限循环滚动显示$("li:first").animate({"height":height},300);//列表顶部的li高度逐渐变高以把下面的li推下去 if(!isIE6){$("li:first").animate({"opacity":"1"},300);//在非IE6浏览器中设置透明淡入效果}}setTimeout("msgmove()",5000);//设置5秒滚动一次}</script>

js直接实现:

html代码

<div href="<p>入山又恐别倾城 ?世间安得双全 不负如来不负卿</p>? ?</li><li><a href="<p>第一最好不相见,如此便可不相恋。</p></li><li><a href="<p>那一天 闭目在经殿香雾</p>? ?</li><li><a href="javascript:;"><img src="http://t1.qlogo.cn/mbloghead/b9127c4ca63961bace88/50" alt="新浪微博正厅和腾讯微博首页滚动效果" /></a><p> 你见 或者不见我 ?我就在那里 </p></li></ul></div>?<script type="text/javascript">new slider({id:'slider'})</script>

?

css代码

?

ul, li {margin:0;padding:0;list-style:none}a{ color:#fff;}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;}?

?

js代码

function H$(i) {return document.getElementById(i)}

function H$$(c, p) {return p.getElementsByTagName(c)}var slider = function () {function inits (o) {this.id = o.id;this.at = o.auto ? o.auto : 3;this.o = 0;this.pos();alert(o);}inits.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 inits;}();

热点排行