0

Lion 10.8の新しいサファリブラウザ6.0では、このコードは正しく実行されていません。FirefoxとiPadのサファリで問題なく動作します。しかし、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 に答える