forループを使用して次のjQueryを単純化できますか?jQueryを使用したクラスのバインド配列
$("#nav li a.h").mouseover(
function() {
if($(".content.h").is(":hidden")) {
$(".content.h").fadeIn('fast');
}
}
);
$("#nav li a.e").mouseover(
function() {
if($(".content.e").is(":hidden")) {
$(".content.e").fadeIn('fast');
}
}
);
$("#nav li a.o").mouseover(
function() {
if($(".content.o").is(":hidden")) {
$(".content.o").fadeIn('fast');
}
}
);
私はこれを試してみましたが、運:それはJavaScriptの変数として解釈されませんので
var pg = ["h","e","o"];
for (var i = 0; i < pg.length; i++) {
$("#nav li a.pg[i]").mouseover(
function() {
if($(".content.pg[i]").is(":hidden")) {
$(".content.pg[i]").fadeIn('fast');
}
}
);
}
+1の簡潔さと、この解決策が適切なクロージャを作成し、 'id'変数が各マウスオーバーハンドラ(ループインデックス' i'の標準となる方法)の間で共有されないようにするためです。 – nnnnnn
美しい、ありがとう!それはすぐそこの芸術です。 – Zade