我在购物车切换下拉时遇到问题,当我点击下拉链接时,链接不会将我带到链接位置,而是在其他所有位置。
这是我的编码,我做错了什么?任何帮助都会很棒。
$(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);
});
});
答案 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"