2012-08-12 222 views
0

在Lion 10.8上的新safari瀏覽器6.0上,此代碼未正確執行。在Firefox和iPad Safari中運行良好。但在Mac上,它隨着我上下滾動而不斷振動。我試圖保持頂部的橫幅滾動,直到按鈕到達頁面頂部,我希望按鈕保持固定。跨瀏覽器兼容性

這裏的鏈接頁面:

http://www.persiantunedpiano.com/Mirror/events.htm

這裏的JS:

<script type="text/javascript"> 
<![CDATA[ 

    $(document).scroll(function() {var scrollTop = $(window).scrollTop(); 
         scroll(0, scrollTop); 
         if (scrollTop > 189) { 
          //alert(scrollTop); 
          $('#top_links').css('position', 'fixed'); 
          $('#top_links').css('top', '0'); 
          $('#left_links').css('position', 'fixed'); 
          $('#left_links').css('top', '57px'); 


         } else { 
          //alert('2'); 

          $('#top_links').css('position','absolute'); 
          $('#top_links').css('top', '186px'); 
          $('#left_links').css('position', 'absolute'); 
          $('#left_links').css('top', '242px'); 
          //allertSize(); 
         } 
         }); 


//]]> 
</script> 
+0

不只是在Mac上:Win7,Firefox 14,滾動slooooooow和生澀。另外請注意,播放音樂會自動惹惱一些訪問者(像您的真實情況)...';'' – 2012-08-12 18:13:01

回答

0

嗯...好像實在是太慢了,這會加速它不能請確保它足夠快:

(我將jQuery元素添加到閉包中,因此您不必每次搜索都搜索它們4次)。

<script type="text/javascript"> 

    var top_links = $('#top_links'); 
    var left_links = $('#left_links'); 

    $(document).scroll(function() { 
    var scrollTop = $(window).scrollTop(); 
    scroll(0, scrollTop); 
    if (scrollTop > 189) { 
     top_links.css('position', 'fixed') 
       .css('top', '0'); 
     left_links.css('position', 'fixed') 
       .css('top', '57px'); 
    } 
    else { 
     top_links.css('position','absolute') 
       .css('top', '186px'); 
     left_links.css('position', 'absolute') 
       .css('top', '242px'); 
    } 
}); 
</script> 
+0

對於遲到的回覆,已經陷入其他項目。你的代碼不起作用。以下是您的代碼頁面:http://www.persiantunedpiano.com/Mirror/about.htm。以下是導致問題的以前代碼的頁面:http://www.persiantunedpiano.com/Mirror/events.htm。有任何想法嗎? – bkarj 2012-08-24 20:24:21

+0

是的,將我的代碼移動到'$(document).ready(function(){'函數中,然後在我本地工作 – Hogan 2012-08-24 22:17:56

+0

好的,這解決了問題,我想這是對以前版本的改進。我仍然不滿意這個表現,當我用觸摸板進行滾動時,它仍然會閃爍很多,拖動滾動條時工作正常,只是兩個手指滾動不像預獅子游戲那樣工作,沒有任何閃爍的東西,我會接受你的答案,因爲這是一個改進,並認爲這是沒有解決方案的新Safari瀏覽器的問題。 – bkarj 2012-08-25 00:21:03