日期:2014-05-16  浏览次数:20498 次

我想实现marquee每次滚动完成后刷新页面,求高手

页面是
<marquee direction="up" height=600 width="100%" onMouseOut="this.start()" onMouseOver="this.stop()" loop="-1" scrollamount="3">
  <div>
    <table>
    </table>
  </div>
</marquee>

table里面的数据是从数据库里面读取出来然后从下往上循环滚动显示,但是会实时变化。
所以我希望每完成一次滚动后刷新页面,不知道怎么弄,求高手!!!

------解决方案--------------------
哦哦,这样还是觉得用ajax异步加比较好,要么你刷新,肯定还会有个过程,如果这个过程的时间较长,就会减少很多用户的。让我们自己想想,谁愿意几秒或者几十秒的刷新一次网页,刷新之后还要加载一会,顺畅的时候倒是没有多大关系,如果每次加载需要几秒钟,不就崩溃了。

所以,我个人觉得呢,这个还是用定时器,间隔性的发出ajax请求,请求数据获得之后,用动态的更新页面数据,然后再次添加一个定时器。

感觉间隔性刷新页面的用户体验有点差。

同时,我刚才查看了marquee的属性方法,没有找到能判断marquee停止的属性,这个就有点麻烦了。

回复会置顶的,看有没有其他人知道了,不常有这个标签。
------解决方案--------------------
<div style="height:600px;width:100%;overflow:hidden;line-height:20px;" id="dvScroll" onmouseover="clearInterval(timer);" onmouseout="timer = setInterval(scrollDiv, 100);">
<div id="dvContent">内容<br />内容<br />内容<br />内容<br />内容</div></div>
<script>
    var scrollTop = 0, timer, dvScroll,containerHeight, scrollHeight, lineheight = 20;
    function scrollDiv() {
        scrollTop += 5;
        if (scrollTop > scrollHeight) scrollTop = scrollHeight;
        dvScroll.scrollTop = scrollTop;
        if (scrollTop == scrollHeight) {//完成滚动,要ajax重新获取内容或者刷新页面都行,下面为重新加载的,要ajax自己取消注释,导入jquery
            clearInterval(timer);
            window.location.reload();
            /*//ajax动态加载部分,用了jquery
            $('#dvContent').load('内容页url地址',function(){
               dvScroll.scrollTop = scrollTop = 0;//重置滚动高度
               scrollHeight =containerHeight + dvContent.offsetHeight;
               timer = setInterval(scrollDiv, 100);
            });
            */
 &n