首页 新闻 搜索 专区 学院

Repeater或 Gridview 无缝滚动

0
悬赏园豆:15 [已解决问题] 解决于 2013-09-07 17:46

 下面是无缝滚动的代码,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>

t101lian的主页 t101lian | 初学一级 | 园豆:32
提问于:2013-09-05 12:45
< >
分享
最佳答案
0

把startmarquee函数放在 pageLoad()函数中试试,UpdatePanel刷新了数据以后,是会执行function pageLoad()的。

pageLoad是一个内置的函数,直接如下写上试试:

pageLoad(){

startmarquee(31,15,1000);

}

收获园豆:15
jone_e | 小虾三级 |园豆:1410 | 2013-09-06 09:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册