2014-01-30 29 views
1

我使用Azoff的反彈時的jQuery插件:WATCH IT HERE如何在頁面刷新時正確寫入div保存jquery overscroll代碼?

而且我寫了這個代碼,但似乎並不奏效:

var PlanetRefreshTimeSec = 1; // Planet refresh time in seconds.. 

    function loadData() { 

     $.ajaxSetup({ 
      cache: false 
     }); 

     var updateScrollPosition = function() { 
      var div = $('#show_planet_realtime'); 
      div.scrollTop(div.height()); 
     }; 

     $("#show_planet_realtime").load("../in/GameEngine/RealTimeRender.php?p=<?php echo $player; ?>", updateScrollPosition, function() { 
      setTimeout(function() { 
       loadData(); 
      }, PlanetRefreshTimeSec * 1000); 
     }); 
    } 
    $(function() { 
     loadData(); 
    }); 

我想保持地圖的位置,而這個地圖會自動刷新內容爲​​。我聽說它與jQuery的cookie的插件完成的,所以我想它太:

$(function(o){ 
    o = $("#my_planet").overscroll({ 
     cancelOn: '.no-drag', 
     scrollLeft: 200, 
     scrollTop: 100, 
     drag: function() { 
      var cookie_value = JSON.stringify($(this).offset()); 
      $.cookie('newPosition', cookie_value, { 
       expires: 7 
      }); 
     } 
    }).on('overscroll:dragstart overscroll:dragend overscroll:driftstart overscroll:driftend', function(event){ 
     console.log(event.type); 
    }); 

    if ($.cookie('newPosition')) { 
     //console.log($.cookie('newPosition')) 
     $("#my_planet").offset({ 
      top: JSON.parse($.cookie('newPosition')).top, 
      left: JSON.parse($.cookie('newPosition')).left 
     }) 
    } 
}); 

但它不工作,但...就像我之前說的,我有確切Azoff's Overscroll jQuery的地圖,並且我要救它位置,同時刷新整個頁面或該地圖刷新其內容...

回答

0

這可能是一個計時/賽車問題 - 你試圖獲得div的高度,而它是空的。考慮延遲scrollTop函數調用的開始。也許嘗試更換div.scrollTop(div.height());setTimeout(function(){div.scrollTop(div.height())},200);

+0

感謝您的迴應,但我試過了,沒有運氣:(看起來你的代碼錯了:(我的整個div沒有加載 – dehood

+0

如果你不改變那條線,div是否加載? – MjrKusanagi

+0

你的代碼,我認爲是好,我只是複製了錯誤:)我認爲問題出現在這行'$(「#show_planet_realtime」)。load(「../ in/GameEngine/RealTimeRender.php?p = <?php echo $ player;?>」 ,updateScrollPosition,function(){' – dehood

相關問題