我创建了自定义切换脚本来显示/隐藏内容,但我遇到了脚本问题。
当我单击以过滤文本内容时,将显示,当我再次单击关闭按钮时,它将关闭并重新打开。为什么会发生这种情况我不知道请有人指导我。
我的JSCode:
$(".rmm2-toggled").click(function () {
$(".rmm2-toggled ul").show(1000);
});
$("#filter_close").click(function () {
$(".rmm2-toggled ul").hide(1000);
});
我的JSFiddle:Sample
答案 0 :(得分:4)
点击正在冒泡,因此两个事件处理程序都会被执行 你需要停止传播
$(".rmm2-toggled").click(function () {
$(".rmm2-toggled ul").show(1000);
});
$("#filter_close").click(function (e) {
e.stopPropagation();
$(".rmm2-toggled ul").hide(1000);
});
答案 1 :(得分:1)
嘿问题是你的关闭按钮在你的切换事件中
使用此js代码:
$(".rmm2-toggled .rmm2-toggled-title").click(function (e) {
$(".rmm2-toggled ul").show(1000);
});
$("#filter_close").click(function (e) {
$(".rmm2-toggled ul").hide(1000);
});
答案 2 :(得分:0)
可能的解决方案是试试这个:
$(".rmm2-toggled").click(function () {
$(".rmm2-toggled ul").show(1000, function(){
$("#filter_close").click(function () {
$(".rmm2-toggled ul").hide(1000);
});
});
});
答案 3 :(得分:0)
覆盖
<div class="rmm2-toggled-title" >Click to Filter</div>
用这个
<div class="rmm2-toggled-title" id="open_filter">Click to Filter</div>
只需添加名为“open_filter”的 ID ,这将是唯一的,并且关闭按钮不在此div内。
而是将事件添加到父div,将click事件添加到其子项
更新了Jquery
$("#open_filter").click(function () {
$(".rmm2-toggled ul").show(1000);
});
$("#filter_close").click(function () {
$(".rmm2-toggled ul").hide(1000);
});