マウスオーバー機能とマウスアウト機能をシリーズ クラスに追加したいと考えています。そこで、ループ内の変数で JQ セレクターを使用します。
for(i=1;i<=2;i++){
cid='.Cid'+i;
ccid='.CCid'+i;
csid='.CSid'+i;
$(cid).mouseover(function(){
$(ccid).addClass("RelatedMainComment");
$(csid).addClass("RelatedMainComment");
});
$(cid).mouseout(function(){
$(ccid).removeClass("RelatedMainComment");
$(csid).removeClass("RelatedMainComment");
});
}
しかし、正しく動作しません。最後の 1 つのクラスを追加しているようです。この例では、クラス「Cid2」、マウスオーバーおよびマウスアウト関数です。そこで、別の実験を行います。
i=1;
cid='.Cid'+i;
ccid='.CCid'+i;
csid='.CSid'+i;
$(cid).mouseover(function(){
$(ccid).addClass("RelatedMainComment");
$(csid).addClass("RelatedMainComment");
});
$(cid).mouseout(function(){
$(ccid).removeClass("RelatedMainComment");
$(csid).removeClass("RelatedMainComment");
});
i=2;
結果は前者と同じです。また、コードが次の場合:
for(i=2;i>=1;i--){
cid='.Cid'+i;
ccid='.CCid'+i;
csid='.CSid'+i;
$(".Cid"+i).mouseover(function(){
$(".CCid"+i).addClass("RelatedMainComment");
$(".CSid"+i).addClass("RelatedMainComment");
});
$(".Cid"+i).mouseout(function(){
$(".CCid"+i).removeClass("RelatedMainComment");
$(".CSid"+i).removeClass("RelatedMainComment");
});
}
うまくいきません。理由を説明できますか?