点击空锚后重新加载到主页


Reloading to homepage after hitting an empty anchor

请查看http://iglica.dbox.pl/modx/(客户图形项目)

检查菜单上的"KURSY"-在主页上一切正常,菜单幻灯片,我可以从子菜单中选择一些东西,等等。不知何故,当我从其他地方点击"KURSY"时,MODX会将我重定向到主页。

负责菜单的代码在menu.min.js中(我是专门为这个网站买的——我不熟悉jQuery)。

p.S.

我试过这个http://rtfm.modx.com/display/revolution20/Named+锚没有运气

p.S.

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)
    })
});

尝试用span标记替换您不想做任何事情的a标记,看看您的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>

好的,当滑动功能被锚触发时,可以尝试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)
    })
});