下面是无缝滚动的代码,demo1中是 Repeater控件, 同时 demo1是放在 UpdatePanel中, 现在碰到的问题是, UpdatePanel是定时30秒刷新一次, 每当局部刷新时,就不再滚动啦,求大牛。。。。
<script type="text/javascript">
function startmarquee(lh, speed, delay) {
var p = false;
var t; //定义变量t了
var o = document.getElementById("demo1");
o.innerHTML += o.innerHTML;
o.style.marginTop = 0;
o.onmouseover = function () { p = true; }
o.onmouseout = function () { p = false; }
function start() { //“开始”函数
t = setInterval(scrolling, speed);
if (!p) o.style.marginTop = parseInt(o.style.marginTop) - 1 + "px";
}
function scrolling() {
if (parseInt(o.style.marginTop) % lh != 0) {
o.style.marginTop = parseInt(o.style.marginTop) - 1 + "px";
if (Math.abs(parseInt(o.style.marginTop)) >= o.scrollHeight / 2) o.style.marginTop = 0;
} else {
clearInterval(t);
setTimeout(start, delay);
}
}
setTimeout(start, delay);
}
startmarquee(31, 15, 1000);
</script>
把startmarquee函数放在 pageLoad()函数中试试,UpdatePanel刷新了数据以后,是会执行function pageLoad()的。
pageLoad是一个内置的函数,直接如下写上试试:
pageLoad(){
startmarquee(31,15,1000);
}