2012-08-12 257 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