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>
4

1 回答 1

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>
于 2012-08-12T18:15:30.807 回答