私はしばらくの間、この機能を機能させようとしています。デフォルトで非表示になっている 11 の異なる div があります。それぞれに「トリガー」ボタンがあり、それらをポップして開くようになっています。これは、特定の div ごとに長い一連の関数を使用して行うことができました (最終的には約 175 行のコードになりました!)。私はそれを同じことをする単一の関数に凝縮したかった.
これが今の私のスクリプトです
$(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 がクリックされたときに関数を起動しました。また、画像の交換とすべての機能を表示する機能も含めました。