2012-01-27 25 views
2

我有一個模式爲500px×500px,滾動條在頁面正文關閉。在模式中,副本很長並且包含錨定標記。我的問題是,當我單擊Chrome或Safari中的錨標籤時,身體會隨着模態副本一起滾動,任何人都有修正?它可以在所有其他瀏覽器中正常工作。下面是我的jQuery僅適用於JQuery,Chrome,Safari,模式,滾動副本和滾動條關閉。需要停止滾動背景

 $('.leftside .home-popup').click(function (e) { 
      var os = $('.home-popup').offset(); 
      var top = os.top; 
      var left = os.left; 
      var adjustleft = left - 8; 
      //call popup with no scroll bars              
      var oldBodyMarginRight = $("body").css("margin-right"); 
      $("#benefits-modal").modal({ position: [74, adjustleft], 
       onShow: function() { 
        // Turn off scroll bars 
        var body = $("body"); 
        var html = $("html"); 
        var oldBodyOuterWidth = body.outerWidth(true); 
        var oldScrollTop = html.scrollTop(); 
        var newBodyOuterWidth; 
        $("html").css("overflow-y", "hidden"); 
        newBodyOuterWidth = $("body").outerWidth(true); 
        body.css("margin-right", (newBodyOuterWidth - oldBodyOuterWidth + parseInt(oldBodyMarginRight)) + "px"); 
        html.scrollTop(oldScrollTop); // necessary for Firefox 
        $("#simplemodal-overlay").css("width", newBodyOuterWidth + "px") 
       }, 
       onClose: function() { 
        var html = $("html"); 
        var oldScrollTop = html.scrollTop(); // necessary for Firefox. 
        html.css("overflow-y", "").scrollTop(oldScrollTop); 
        $("body").css("margin-right", oldBodyMarginRight); 
        $.modal.close(); 
       }, 
       overlayClose: true 
      }); 
      $('a.modalCloseImg').css("left", "700px"); 
      return false; 
     }); 
+0

你有一個演示頁面,你可以鏈接我們(jsFiddle),或相應的html? – 2012-01-27 03:53:26

回答

1
body.css({ 
    "margin-right": (newBodyOuterWidth - oldBodyOuterWidth + parseInt(oldBodyMarginRight)) + "px", 
    "overflow": "hidden" 
}); 

然後:

$("body").css({ 
    "margin-right": oldBodyMarginRight, 
    "overflow": "auto" 
}); 

這將body CSS設置爲overflow:hidden這樣可防止任何方向滾動。

+0

對不起,我剛剛回到這個項目,沒有issus。背景繼續在Safari瀏覽器中滾動,當我點擊模式中的錨時,Chrome會繼續滾動。我已經發布和示例在這裏http://jsfiddle.net/esoteric/ZEJ7d/ – esoteric 2012-02-03 14:45:43