欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

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

更新时间: 2014-01-05 01:52:03 责任编辑: Author_N1

 

我想实现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);
            });
            */
        }
    }
    window.onload = function () {
        dvScroll = document.getElementById('dvScroll');
        containerHeight = dvScroll.offsetHeight;
        var dvContent = document.getElementById('dvContent'), j = Math.floor(containerHeight / lineheight) + (containerHeight % lineheight ? 1 : 0)
        , blank = '';
        //填充空白,以便内容从底部上升
        for (var i = 0; i < j; i++) blank += '<br/>';

        scrollHeight = containerHeight + dvContent.offsetHeight;

        dvScroll.innerHTML = blank + dvScroll.innerHTML + blank;

        timer = setInterval(scrollDiv, 100);
    }
</script>
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:52:03
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/2245/
本文WWW.DOC100.NET DOC100.NET版权所有。