うまくいけば、これを適切に説明できます。
コードを繰り返さないように努めており、約 30 のモデルを表示するメニューでホバー機能を特定のモデルにバインドするループを作成しています。もっと簡単にモデルを追加できるようにしたいので、ループを作りました。
var models = ["#model1", "#model2", "#model3", "#model4", "#model5"];
for(var index = 0; index < models.length; ++index) {
$(models[index]).hover(fadeInAndBlock, fadeOutAndUnblock);
}
これで問題なく動作します。正しく動作しないのは、fadeInAndBlock です。いくつかのボタンを点灯させ、残りのページをブロックしようとしています。
function fadeInAndBlock() {
$(".productmenuinfo").block({
overlayCSS: {
backgroundColor: "#fff",
opacity: 0.6,
cursor: "default"
},
message: null
});
$(this).unblock( { fadeOut: 0});
$(this + " .btnproductmoreinfo").css({
backgroundPosition: "0px 24px"
});
$(this + " .btnproductconfigure").css({
backgroundPosition: "0px 24px"
});
}
基本的に、セレクターで「this」を機能させることはできません。セレクターはそのモデルのボタンのみである必要があるため、必要です。助けてくれてありがとう!