为了看着更加直观。。我加几个css属性
#marquee {
overflow: auto;/*为了直观的查看滚动量*/
border: 2px solid;
}
#marqueecont{
border: 1px solid #f55;
}
然后说下不能连续滚动的原因:
因为你的offsetTop用错了
offsetTop是值当前元素距离offsetParent指定的元素的上侧相对距离。。你这里就是指marqueecont这个元素,但是如果offsetParent没指定,那么marqueecont.offsetTop就是marqueecont和最外层body的上侧相对距离
所以此时marqueecont.offsetTop为100(如果按我加了边框就是102),因为你最上面的顶了个100高的div...
实际你需要完整滚动完一个marqueecont的高度是189...滚动100你就归0了,自然不连续了。。
修改要直接看正常效果就是:
if(marqueecont.offsetHeight<=marquee.scrollTop)
最后你HTML结构最上面的DIV太多余。。if改为上面那样后可以最上面的100高的DIV删除
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…