您的位置:首页 > 其它

垂直不间断滚动条--琳

2009-10-28 21:32 113 查看
HTML 标记:
<div id="mydiv" >
<div id="mydiv1">
<table cellpadding="2" cellspacing="2" border="0">
<tr><td>垂直不间断滚动</td></tr>
<tr><td>垂直不间断滚动</td></tr>
<tr><td>垂直不间断滚动</td></tr>
<tr><td>垂直不间断滚动</td></tr>
<tr><td>垂直不间断滚动</td></tr>
<tr><td>垂直不间断滚动</td></tr>
</table>
</div>
<div id="mydiv2"></div>
</div>

css样式:
#mydiv{width:150px; height:100px; overflow:hidden;}

Javascript 代码:
<script type="text/javascript">
var sollspeed=30;
mydiv2.innerHTML=mydiv1.innerHTML;
function marquee()
{
if(mydiv2.offsetTop-mydiv.scrollTop<=0)
{
mydiv.scrollTop-=mydiv1.offsetHeight;
}
else
{
mydiv.scrollTop++;
}
}
var Mamar=setInterval(marquee,sollspeed);
mydiv.onmouseover=function(){clearInterval(Mamar);}
mydiv.onmouseout=function(){Mamar=setInterval(marquee,sollspeed);}
</script>

Javassript 代码解释:
sollspeed=30 :滚动的时间;
mydiv2.innerHTML=mydiv1.innerHTML :将mydiv1的赋给mydiv2,mydiv=mydiv1+mydiv2;
mydiv2.offsetTop:例如mydiv1的高度为100px;mydiv 的高度等于200px;mydiv2.offsetTop的高度为100px开始的.(因为mydiv2是在mydiv1的下面);
当mydiv2.offsetTop-mydiv.scrollTop时,刚开始的mydiv.scrollTop的值为0;所以div2.offsetTop-div.scrollTop>=0执行mydiv.scrollTop++;意思是说把整个div往上隐藏;所以div的高度是100;当隐藏到101时;执行 div2.offsetTop-mydiv.scrollTop<=0的语句;mydiv.scrollTop-=mydiv1.offsetHeight;这句话mydiv1.offsetHeight;是mydiv1的总高度 100 ;mydiv.scrollTop-=mydiv1.offsetHeight执行效果mydiv.scrollTop=mydiv.scrollTop-mydiv1.offsetHeight=101-100=1 ;mydiv.scrollTop=1时,遇到if(mydiv2.offsetTop-mydiv.scrollTop<=0)不成立,执行mydiv.scrollTop++;这样一直循环;
var Mamar=setInterval(marquee,sollspeed); srtInterval();是几秒后执行括号内的函数;
div.onmouseover=function(){clearInterval(Mamar);} 鼠标移进去停止的函数;
div.onmouseout=function(){Mamar=setInterval(marquee,sollspeed);}鼠标离开恢复循环的函数;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: