2011-12-16 47 views
0
$("#listPanels a").live("click",function(e){ 
     e.preventDefault(); 
     can_changePn = false; 
     var tt = $(this).attr("href"); 
     var pos = $(tt).offset().top; 
     var ctop = $('#contentPanel').scrollTop(); 
     alert(tt+" : "+pos+" : "+ctop); 
     $('#contentPanel').animate({ 
      scrollTop: (ctop+pos-50)}, 
     500,function(){ 
      can_changePn = true; 
     }); 
     return false; 
    }); 

我用上面的代碼滾動到一個div和它在所有瀏覽器不過在IE7中工作得很好,看來代碼不能讓過去$(tt).offset().top;,我不知道至於什麼問題可能是,我也嘗試使用position,而不是offset雖然,結果是相同的,如果我嘗試alert該行,警報甚至不打開。有任何想法嗎?無法檢測的div在IE7偏移

回答

1

您正在請求屬性的偏移量。我想你想改變這一點:

var tt = $(this).attr("href");   
var pos = $(tt).offset().top; 

這樣:

var tt = $(this).attr("href");   
var pos = $(this).offset().top; 
+0

沒有,屬性實際上是一個div的id,我試圖找出div的偏移。但是,多虧了你,我現在接近了這個問題,看起來,在所有其他瀏覽器中,返回ID ex:`#panel_00`,而IE7似乎返回到完整的URL而不僅僅是id,所以什麼都沒有找到 – Bluemagica 2011-12-16 11:20:31