无法单击切换下拉链接

时间:2011-08-05 14:56:13

标签: jquery toggle

我在购物车切换下拉时遇到问题,当我点击下拉链接时,链接不会将我带到链接位置,而是在其他所有位置。

这是我的编码,我做错了什么?任何帮助都会很棒。

$(document).ready(function(){

// Drop Menu


$('.navigation > ul > li > a').click(function(e){
    if($(this).parent().hasClass('current')){
        $(this).parent().removeClass('current');
    }else{
        $(this).parent().addClass('current');
    }
    if($(this).parent().find('ul')){
        e.preventDefault();
    }
});

$('.shoppingbasket > ul > li').click(function(e){
    if($(this).hasClass('current')){
        $(this).removeClass('current');
    }else{
        $(this).addClass('current');
    }
    if($(this).parent().find('ul')){
        e.preventDefault();
    }
});

$(".navigation ul ul, .shoppingbasket ul ul").css({display: "none"});
$(".navigation ul li, .shoppingbasket ul li").click(function(){
    $(this).find('ul:first').slideToggle(400);
});
});

2 个答案:

答案 0 :(得分:0)

您的代码中存在一些问题,请尝试使用

$(document).ready(function(){

// Drop Menu


$('.navigation > ul > li > a').click(function(e){
    var $parent = $(this).parent();
    if($parent.hasClass('current')){
        $parent.removeClass('current');
    }else{
        $parent.addClass('current');
    }   
    if($parent.find('ul').length > 0){
        e.preventDefault();
    }
});

$('.shoppingbasket > ul > li').click(function(e){
    var $this = $(this);
    if($this.hasClass('current')){
        $this.removeClass('current');
    }else{
        $this.addClass('current');
    }   
    if($this.parent().find('ul').length){
        e.preventDefault();
    }
});

//This will stop the event propagation from sub menus    
$('ul.sub-menu').click(function(e){
  e.stopPropagation();
});

$(".navigation ul ul, .shoppingbasket ul ul").css({display: "none"});
$(".navigation ul li, .shoppingbasket ul li").click(function(){
    $(this).find('ul:first').slideToggle(400);
});
});

答案 1 :(得分:0)

在购物车链接的标记中,我看到的唯一与其他链接不同的是目标属性。

<a class="visitshop" title="Visit Shop" href="http://www.media21a.co.uk/clientlogin/benaiahmatheson/products-page/" target="_parent">Visit the shop</a>

尝试删除此属性:

target="_parent"