0

http://iglica.dbox.pl/modx/ (クライアント グラフィカル プロジェクト)をご覧ください。

メニューで「KURSY」をチェックしてください - ホームページではすべて問題ありません。メニューはスライドし、サブメニューから何かを選択できます。ホームページ。

メニューを担当するコードは menu.min.js にあります (私はこの Web サイトのために特別に購入しました - 私は jQuery に詳しくありません)。

PS

私はこれを試しましたhttp://rtfm.modx.com/display/revolution20/Named+Anchor運が悪い

PS

jQuery -

$(function () {
    $('#mainNav ul li.slide a').click(function () {
        var content = ($(this).parent().find("div").html());
        $('#navWrapper #subNav #subNavContainer').fadeOut(100, function () {
            $('#navWrapper #subNav #subNavContainer').html(content);
            $('#navWrapper #subNav #subNavContainer').fadeIn(100);
            $('#navWrapper').stop(false, false).animate({
                'left': 0
            }, 300)
        })
    });
    $('#navWrapper').mouseleave(function () {
        $('#navWrapper').stop(false, false).animate({
            'left': -200
        }, 300)
    })
});
4

1 に答える 1

0

何もしたくない a タグを span タグに置き換えてみて、js コードがまだ正常に動作するかどうかを確認してください。後で CSS スタイルを確認する必要があるかもしれません。

<li class="slide"><span>Kursy</span>
<div class="submenu">
<ul id="submenu">
<li><a href="index.php?id=12">Dla dzieci</a></li>
<li><a href="index.php?id=23">Dla młodzieży</a></li>
<li><a href="index.php?id=13">Dla dorosłych</a></li>
</ul>
</div>
</li>

OK、アンカーによってスライド関数がトリガーされると、js の回避策を試すことができます。

HTML

<li class="slide"><a href="#" class="preventdefault">Kursy</a>
    <div class="submenu">
    <ul id="submenu">
    <li><a href="index.php?id=12">Dla dzieci</a></li>
    <li><a href="index.php?id=23">Dla młodzieży</a></li>
    <li><a href="index.php?id=13">Dla dorosłych</a></li>
    </ul>
    </div>
</li>

JS

(function ($) {
    $(window).ready(function () {
        $('.preventdefault').on("click", function (e) {
            //Uncomment if the anchor is required on the url
            //document.location.hash = $(this).attr('href');

            return false;
        });
    });
}(jQuery));

コードを拡張 + html クラスを追加:

$(function () {
    $('#mainNav ul li.slide a').click(function (e) {
        var content = ($(this).parent().find("div").html());
        $('#navWrapper #subNav #subNavContainer').fadeOut(100, function () {
            $('#navWrapper #subNav #subNavContainer').html(content);
            $('#navWrapper #subNav #subNavContainer').fadeIn(100);
            $('#navWrapper').stop(false, false).animate({
                'left': 0
            }, 300)
        })

        if ($(this).hasClass('preventdefault')) {
            //Uncomment if the anchor is required on the url
            //document.location.hash = $(this).attr('href');

            e.preventDefault();
            e.stopPropagation();
        }

    });
    $('#navWrapper').mouseleave(function () {
        $('#navWrapper').stop(false, false).animate({
            'left': -200
        }, 300)
    })
});
于 2013-07-24T17:03:54.770 に答える