我一直试图让这个功能工作一段时间。我有 11 个默认隐藏的不同 div。每个都有一个“触发”按钮,应该让它们弹出。我能够为每个特定的 div 使用更长的一系列函数来做到这一点(最终大约有 175 行代码!)。我想把它浓缩成一个可以做同样事情的函数,即:点击触发器 1 - div 1 打开/再次点击触发器 1,div 1 关闭等等。
这是我现在的脚本
$(document).ready(function() {
$("[class^='ShowVehicles']").toggle(function() {
alert("click happened");
$("[class^='HiddenVehicles']").slideDown(1000);
},
function () {
$("[class^='HiddenVehicles']").slideUp(1000);
});
});
它目前正在打开所有“HiddenVehicles”div,我需要让它更具体。我对 jquery 还很陌生,所以我几乎没有想法。提前谢谢各位!
编辑-感谢所有帮助人员,这是我想出的解决方案:
$(document).ready(function() {
$("div.WrapIt").toggle(
function(){ $(".HiddenVehicles", this).slideDown(1000);
$("img.imgSwap" , this).attr("src","assets/images/SelectBySize/SelectBySize_HideAll.gif");
},
function(){ $(".HiddenVehicles", this).slideUp(1000);
$("img.imgSwap" , this).attr("src","assets/images/SelectBySize/SelectBySize_ShowAll.gif")
}
);
$(".ShowEveryThing").toggle(
function() { $(".WrapIt .HiddenVehicles").slideDown(1000);
$("img.imgSwap").attr("src","assets/images/SelectBySize/SelectBySize_HideAll.gif");
$("img.buttonSwap").attr("src","assets/images/SelectBySize/SelectBySize_HideBtn.gif");
},
function(){ $(".WrapIt .HiddenVehicles").slideUp(1000);
$("img.imgSwap").attr("src","assets/images/SelectBySize/SelectBySize_ShowAll.gif");
$("img.buttonSwap").attr("src","assets/images/SelectBySize/SelectBySize_ShowBtn.gif");
});
});
我创建了一个包装器 div,并在单击该 div 时触发了该函数。我还包括了一些图像交换和显示所有功能。