JS代码:图片由下向上不间断滚动,滚动到第二遍时写的CSS样式无效了,求指导!

JavaScript010

JS代码:图片由下向上不间断滚动,滚动到第二遍时写的CSS样式无效了,求指导!,第1张

我的测试结果是这样的:

demo2.innerHTML=demo1.innerHTML

//demo1.offsetHeight=783 demo2.offsetHeight=773

//demo2.offsetTop=792 scrollTop=752时停止

function Marquee(){

if(demo2.offsetTop-demo.scrollTop<=40)

当它停止的时候,还差40,所以,改成<=40 就可以了。

当scrollTop=752时,它是停止,是因为滚动条已经到底了,不能再滚动了,所以停止了。

但是,

demo1.offsetHeight=783

demo2.offsetHeight=773

这两个数据为什么不一样,我就不太理解了。楼主如果知道为什么的话,麻烦告诉我一下。

(噢,对了,差点忘了,因为楼主原引用的图片,我这里无法显示,于是,我就换了一张图片,但如果是原图片的话,上面三个数据也应该会是不一样的!楼主可以测试一下。)

//保存想要滚动的容器

var scrollingBox

var scrollingInterval

//用于记录是否“滚到头”过一次

var reachedBottom=false

//记录第一次滚到头时候的scrollTop

var bottom

function initScrolling()

{

scrollingBox = document.getElementById("prodiv")

//样式设置,与滚动基本无关

scrollingBox.style.height = "600px"

scrollingBox.style.overflow = "hidden"

//滚动

scrollingInterval = setInterval("scrolling()",50)

//鼠标划过停止滚动效果

scrollingBox.onmouseover = over

//鼠标划出回复滚动效果

scrollingBox.onmouseout = out

}

//滚动效果

function scrolling()

{

//开始滚动,origin是原来scrollTop

var origin = scrollingBox.scrollTop++

//如果到头了

if(origin == scrollingBox.scrollTop)

{

//如果是第一次到头

if(!reachedBottom)

{

scrollingBox.innerHTML+=scrollingBox.innerHTML

reachedBottom=true

bottom=origin

}

else

{

//已经到头过,只需回复头接尾的效果

scrollingBox.scrollTop=bottom

}

}

}

function over()

{

clearInterval(scrollingInterval)

}

function out()

{

scrollingInterval = setInterval("scrolling()",50)

}