1

高低を検索しましたが、特定の状況に役立つ投稿は見つかりませんでした。私はjQueryを初めて使用し、その幅広い用途が大好きです。アコーディオンスクリプトに問題があり、ScrollToを追加して、セクションが選択されている場合に、ウィンドウがビューの上にある場合にウィンドウを上にスクロールするようにする必要があります。これが理にかなっていることを願っています。お手伝いありがとう。

<script type="text/javascript">
        /* <![CDATA[ */
        jQuery().ready(function(){
            jQuery('#leftnav-navigation').accordion({
                active: false,
                header: '.head',
                navigation: true,
                collapsible: true,
                animated: 'easeslide',
                autoheight: false,
                alwaysOpen: false,
            });

            var accordions = jQuery('#leftnav-navigation'); 

            jQuery('#switch select').change(function() {
                accordions.accordion("activate", this.selectedIndex-1);
            });
            jQuery('#close').click(function() {
                accordions.accordion("activate", -1);
            });
            jQuery('#switch2').change(function() {
                accordions.accordion("activate", this.value);
            });
            jQuery('#enable').click(function() {
                accordions.accordion("enable");
            });
            jQuery('#disable').click(function() {
                accordions.accordion("disable");
            });
            jQuery('#remove').click(function() {
                accordions.accordion("destroy");
                wizardButtons.unbind("click");
            });
            return false;
        });
        /* ]]> */
    </script>

彼の助けをくれたckaufmanに感謝します。これが最終的な動作コードです。これが困っている人に役立つことを願っています。

<script type="text/javascript">
        /* <![CDATA[ */
        jQuery().ready(function(){
            jQuery('#leftnav-navigation').accordion({
                active: false,
                header: '.head',
                navigation: true,
                collapsible: true,
                animated: 'easeslide',
                autoheight: false,
                alwaysOpen: false,
            });

            var accordions = jQuery('#leftnav-navigation'); 

            jQuery('#switch select').change(function() {
                accordions.accordion("activate", this.selectedIndex-1);
            });
            jQuery('#close').click(function() {
                accordions.accordion("activate", -1);
            });
            jQuery('#switch2').change(function() {
                accordions.accordion("activate", this.value);
            });
            jQuery('#enable').click(function() {
                accordions.accordion("enable");
            });
            jQuery('#disable').click(function() {
                accordions.accordion("disable");
            });
            jQuery('#remove').click(function() {
                accordions.accordion("destroy");
                wizardButtons.unbind("click");
            });

            jQuery('#leftnav-navigation').click(
                function() {
                    var window_top = $(window).scrollTop();
                    var div_top = $(this).offset().top;
                        if (window_top > div_top){
                            $('html, body').animate({scrollTop:div_top}, 300);
                }
            });

            return false;
        });
        /* ]]> */
    </script>
4

2 に答える 2

1

これらの線に沿った何かがうまくいくかもしれないと思います。説明しますが、微調整すれば実装できるかもしれません。

jQuery('#divID').click(
  function() {
  var window_top = $(window).scrollTop();
  var div_top = $(this).offset().top;
     if (window_top > div_top){
     $('html, body').animate({scrollTop:div_top}, 300);
     }
    });

クリックは、「div_top」と「window_top」を検出するイベントをバインドします... div が wi​​ndow_top の上にある場合、div_top の位置までスクロールします。試してみる価値があります。

于 2011-03-24T20:00:12.013 に答える
0

実は、私はすでにこれを行っています...

jQuery の scrollTo.js をプロジェクトに追加し、ui.accordion.jsファイルを提供されている JSFiddle のファイルに置き換える必要があります: http://jsfiddle.net/Jaybles/6EWAF/

于 2011-03-24T20:02:08.177 に答える