0

うまくいけば、これを適切に説明できます。

コードを繰り返さないように努めており、約 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」を機能させることはできません。セレクターはそのモデルのボタンのみである必要があるため、必要です。助けてくれてありがとう!

4

2 に答える 2

2

これをコンテキストとしてセレクターに渡して、子孫を検索できます。

構文 jQuery( selector [, context ] )

$(".btnproductmoreinfo", this ).css({
    backgroundPosition: "0px 24px"
});
于 2013-05-01T15:46:54.373 に答える