0

更新:我发现了另一个干扰的 js 文件。非常感谢所有的回复。

我正在使用下面的代码来切换手风琴菜单,尽管每次单击 a 时.menu li.sub,页面都会跳到顶部...我尝试将其放置在return false所有地方,但似乎无法使其正常工作..

这是代码;非常感谢:

jQuery(document).ready(function ($) {
    jQuery('.menu ul').slideUp(0);

    jQuery('.menu li.sub').click(function () {
        var target = jQuery(this).children('a');
        if(target.hasClass('menu-expanded')){
            target.removeClass('menu-expanded');
        }else{
            jQuery('.menu-item > a').removeClass('menu-expanded');
            target.addClass('menu-expanded');
        }
        jQuery(this).find('ul:first')
                    .slideToggle(350)
                    .end()
                    .siblings('li')
                    .find('ul')
                    .slideUp(350);
    });
});
4

2 回答 2

0

在 click 事件处理程序的末尾使用 return false :

jQuery('.menu li.sub').click(function () {
    var target = jQuery(this).children('a');
    if(target.hasClass('menu-expanded')){
        target.removeClass('menu-expanded');
    }else{
        jQuery('.menu-item > a').removeClass('menu-expanded');
        target.addClass('menu-expanded');
    }
    jQuery(this).find('ul:first')
                .slideToggle(350)
                .end()
                .siblings('li')
                .find('ul')
                .slideUp(350);

    return false;
});
于 2013-08-08T09:24:14.867 回答
0

试试这个event.preventDefault()

 jQuery('.menu li.sub').click(function (e) {

      //Your code
    e.preventDefault(); 
    }
于 2013-08-08T09:26:39.260 回答