导致页面顶部跳转的链接

时间:2013-08-08 09:21:01

标签: jquery drop-down-menu

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

我正在使用以下代码来切换手风琴菜单,但每次点击.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);
    });
});

2 个答案:

答案 0 :(得分: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;
});

答案 1 :(得分:0)

试试这个event.preventDefault()

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

      //Your code
    e.preventDefault(); 
    }