我想实现一个滚动条随数据库数据变化自己实时刷新,没有点击事件,怎么解决??求解<span style = "color : red"><asp:Label id="count" runat="server"/></span><br />
      <li><span style = "color : red"><asp:Label id="Label1" runat="server"/></span></li>
  <li> <input id ="warning" runat="server" type="hidden" name="FunName"/> </li>
         <li><span style ="color : red"><script language="javascript" type="text/javascript">
                                                        var marqueeContent = new Array();   //滚动主题
                                                        var warningstr = $("#warning").val();
                                                        var strzero = "0000000000";
                                                        var strRows1Id = warningstr.split(',');
                                                        if (strRows1Id.length == 1 || strRows1Id.length == 0) {                                                            marqueeContent[0] = "预警提示:暂无预警";
                                                        } else { for (i = 0; i < strRows1Id.length - 1; i++) { marqueeContent[i] = "预警提示:煎药单号为" + strzero.substring(0, 10 - strRows1Id[i].length) + strRows1Id[i] + "" + "已过发货预警时间";
    }
   }
                                                       var marqueeInterval = new Array();  //定义一些常用而且要经常用到的变量
                                                        var marqueeId = 0;
                                                        var marqueeDelay = 4000;
                                                        var marqueeHeight = 15;
                                                        function initMarquee() {
                                                            var str = marqueeContent[0];
                                                            document.write('<div id=marqueeBox style="overflow:hidden;height:' + marqueeHeight + 'px" onmouseover="clearInterval(marqueeInterval[0])" onmouseout="marqueeInterval[0]=setInterval(\'startMarquee()\',marqueeDelay)"><div>' + str + '</div></div>');
                                                            marqueeId++;
                                                            marqueeInterval[0] = setInterval("startMarquee()", marqueeDelay);
                                                        }
                                                        function startMarquee() {
                                                            var str = marqueeContent[marqueeId];
                                                            marqueeId++;
                                                            if (marqueeId >= marqueeContent.length) marqueeId = 0;
                                                            if (marqueeBox.childNodes.length == 1) {
                                                                var nextLine = document.createElement('DIV');
                                                                nextLine.innerHTML = str;
                                                                marqueeBox.appendChild(nextLine);
                                                            }
                                                            else {
                                                                marqueeBox.childNodes[0].innerHTML = str;
                                                                marqueeBox.appendChild(marqueeBox.childNodes[0]);
                                                                marqueeBox.scrollTop = 0;
                                                            }
                                                            clearInterval(marqueeInterval[1]);
                                                            marqueeInterval[1] = setInterval("scrollMarquee()", 10);
                                                        }
                                                        function scrollMarquee() {
                                                            marqueeBox.scrollTop++;
                                                            if (marqueeBox.scrollTop % marqueeHeight == marqueeHeight) {
                                                                clearInterval(marqueeInterval[1]);
                                                            }
                                                        }
                                                        initMarquee();
    </script></span></li>
 <br />

解决方案 »

  1.   

    你这代码格式贴得简直不能直视会ajax不?会的话就轮询每隔几秒几分钟(根据自身情况定)去取一次数据库的最新值,不会的话就去学。要是觉得轮询太low,用SignalR
      

  2.   

    setInterval(refresh,1000);//每一秒执行一个函数function refresh(){
        $.ajax()...
    }
      

  3.   

    asp.net 可以判断是否到了最后,如果是就再加载数据
      

  4.   

    就是类似于 ,手机上的滑动加载是吧?别忘了引用jquery类库
    [JavaScript] 纯文本查看 复制代码
        $(window).scroll(function () {
            var scrollTop = $(this).scrollTop();
            var scrollHeight = $(document).height();
            var windowHeight = $(this).height();
            if (scrollTop + windowHeight == scrollHeight) {      //此处是滚动条到底部时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作//var page = Number($("#redgiftNextPage").attr('currentpage')) + 1;
    //redgiftList(page);
    //$("#redgiftNextPage").attr('currentpage', page + 1);        }
        });
      

  5.   

    $("body").scroll(function() {
           ajax()
    });获取到页面的滚动条滚动事件,然后去ajax请求后台做实时刷新