首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2013-12-19 
我想实现marquee每次滚动完成后刷新页面,求高手页面是marquee directionup height600 width100% o

我想实现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>

热点排行