跨浏览器兼容性

时间:2012-08-12 18:05:07

标签: javascript jquery css safari cross-browser

在Lion 10.8上的新safari浏览器6.0中,此代码未正确执行。在Firefox和iPad Safari中运行良好。但是当我向上和向下滚动时,它会继续振动。我正在尝试保持顶部横幅滚动,直到按钮到达页面顶部,此时我希望按钮保持固定。

这是该页面的链接:

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>

1 个答案:

答案 0 :(得分: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>