2017-06-19 49 views
0

的URL是http://development-client-server.com/dreamscience/product-category/models/focus/focus-st/focus-st225-mk2/和问题是与蓝色的按钮,上面写着“过滤器产品”后工作在移动。如果你在手机上打开它,点击“Model”打开并关闭。其他人也一样。但是,如果你打开“模型”,然后尝试打开另一个,说“类别”切换不再起作用。jQuery的显示/隐藏切换停止第一火灾

我试过toggleClass(),切换()的slideToggle()和直上显示()和hide()和用于吨不同形式的摸索。我也尝试改变“点击”到“touchstart点击”,只是使用“touchstart”没有任何改变。

它正常工作,经常与电脑屏幕降低到移动的大小上。它在运行最新版本的iPhone Safari上不起作用。

下面是脚本的当前版本:

function mobileFiltering() { 
 
    $(document).on("click", ".prdctfltr_regular_title", function() { 
 
    var status = $(this).hasClass('active'); 
 
    if (status) { 
 
     $(this).removeClass('active'); 
 
     $(this).next().hide(); 
 
    } else { 
 
     $(this).addClass('active'); 
 
     $(this).next().show(); 
 
    } 
 
    }); 
 
} 
 

 
if ($(window).width() < 975) { 
 
    mobileFiltering(); 
 
} else { 
 
    $('.prdctfltr_regular_title').unbind(); 
 
} 
 

 
$(window).resize(function() { 
 
    if ($(window).width() < 975) { 
 
    mobileFiltering(); 
 
    } else { 
 
    $('.prdctfltr_regular_title').unbind(); 
 
    } 
 
});

而且什么是更奇怪的是,如果我删除的显示/隐藏切换,只是有removeClass/addClass功能,它工作正常。

希望对此有所帮助,因为它似乎是我在移动设备上使用的每个切换的问题。

+0

你有一个jQuery错误:类型错误:a.indexOf不是一个函数 – Korgrue

+0

我不认为这是个问题(这是与别的东西) - 它适用于台式机和第一把火罚款?如果您关闭过滤器,并尝试选择不同的过滤器 –

+0

您还可以得到一个第二个错误。 products.offset(...)未定义 – Korgrue

回答

1

这似乎是由事件通过事件代表团射击次数太多造成的设置你,我的建议是使用stopPropagation停止所有其他事件。

像这样:

function(e) { 
    e.stopPropagation(); 
    e.stopImmediatePropagation(); 

希望这有助于!

+0

谢谢谢谢SOOOO了! –