2012-10-10 29 views
0

我有一个滚动滚动我的web应用程序中的动态数据,停止一点再次开始滚动,它像有人停止它,并再次拖动其他ajax响应时收到一种行为并在html页面中更新数据。这是选取框标记问题吗?为什么选择框延迟当ajax响应收到

<marquee scrollamount="1" scrolldelay="10"> 
    <span id="HPQ" class="syPrice">22.20</span> 
    <span id="APQ" class="ayPrice">12.20</span> 
    <span id="BPQ" class="byPrice">18.10</span> 
    <span id="CPQ" class="cyPrice">65.20</span> 
    <span id="DPQ" class="dyPrice">87.56</span> 
    <span id="EPQ" class="eyPrice">15.24</span> 
    <span id="FPQ" class="fyPrice">34.45</span> 
    <span id="GPQ" class="gyPrice">16.20</span> 
</marquee> 

和我的ajax调用响应不断更新此页面。

function dataUpdate(){ 
      $.ajax({ 
        type : "GET", 
        url : '../myJsonData.xhtml', 
        dataType : "json", 
        async : true, 
        cache : false, 

        success: function(data) { 
        $.each(data, function(i, item) { 
         /* updates data here */ 
        }); 
        setTimeout('dataUpdate()',1000); 
        }, 
        error : function() { 
       } 
      }); 
      } 

我更新以类似的方式字幕数据,如上述的AJAX调用

+3

是不是不赞成/非标准的选取框标记? – PhonicUK

+0

@PhonicUK它从来没有完全正式。只需使用JavaScript或CSS动画。 –

回答

1

不,这不是与字幕标记具体的问题。

浏览器在用户界面中一次只做一件事。只要脚本正在运行,页面中根本没有更新。

如果您有任何其他移动元素(例如动画GIF),您会发现在脚本运行时他们也会暂停一会儿。

+0

有无论如何,我可以克服这个问题 – Swarne27

+0

@Swarnajith:不,这就是浏览器的工作原理。您可以尝试使脚本运行得更快,以减少延迟。例如,您可以将数据保存在一个数组(或类似的数组)中,并将旧值与新值进行比较,只有在值实际发生变化时才更新元素。 – Guffa

+0

如果我添加一个jquery滚动而不是选取框它会导致相同的? – Swarne27