垂直不间断滚动条--琳
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);}鼠标离开恢复循环的函数;
<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);}鼠标离开恢复循环的函数;
相关文章推荐
- jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
- jQuery模拟百度新闻不间断滚动效果,支持文字、图片水平垂直滚动
- jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
- jQuery模拟百度新闻不间断滚动效果,支持文字、图片水平垂直滚动
- 左侧垂直导航+滚动跟随-兼容IE8和Chrome浏览器
- 不间断的滚动(横向/纵向)
- MFC对话框程序EDIT类控件的自动换行,垂直滚动条自动下移
- 通用不间断滚动JS封装类
- javascript 不间断的图片滚动并可点击
- JS图片不间断滚动代码
- Android 原生控件ViewFlipper实现淘宝头条垂直滚动广告条
- 使对话框的垂直滚动条自由滚动
- [分享] 实用的不间断滚动图效果,具备良好兼容;
- 循环不间断显示滚动图片
- 不间断向左滚动代码
- 垂直滚动图片
- marquee制作连续不间断滚动图片效果
- 图片、文字垂直和水平循环滚动播放
- JS实现Li列表的无缝垂直文字滚动代码
- 【转】MFC编辑框自动换行,垂直滚动条自动下移