画像のロールオーバー用のjQuery関数を作成しました。つまり、特定の画像にカーソルを合わせると、拡大する必要があります。しかし、問題は、これらの画像には 2 つのタイプがあり、緑色の境界線が付いている場合と赤い境界線が付いている場合があります。赤い境界線がある場合、イメージ名は"RB"で終わります。現在、問題は画像にRBが含まれているかどうかに関係なく、拡大されています。ブール値をディサイダー パラメーターとして使用しました。その名前は"pos"です。印刷すると正しい値が表示されますが、コードロジック内ではすべて間違っています。
<script type="text/javascript">
var preLoadImages=['../icons/alfresco64.png','../icons/RSS64.jpg',
'../icons/google_calendar64.png','../icons/connections64.png',
'../icons/linkedin64.png','../icons/salesforce64.png',
'../icons/sharepoint_2010_64.png'];
var imgs=[];
for(var i=0;i<preLoadImages.length;i++){
imgs[i]=new Image();
imgs[i].src=preLoadImages[i];
}
$(document).ready(function(){
$('#slider img').mouseover(function(){
var j;
var imgFile=$(this).attr('src');
var imgFileID=$(this).attr('id');
if(imgFileID=="Alfresco"){
j=0;
}
if(imgFileID=="GoogleCalendar"){
j=2;
}
if(imgFileID=="Linkedin"){
j=4;
}
if(imgFileID=="Rss"){
j=1;
}
if(imgFileID=="Salesforce"){
j=5;
}
if(imgFileID=="Sharepoint"){
j=6;
}
if(imgFileID=="Connections"){
j=3;
}
if((j>=0)&&(j<=6)){
var pos=/RB.png$/.test(imgFile);
if(pos){
return false;
} if(!pos){
$(this).hover(
function(){
$(this).attr('src',imgs[j].src);
},
function(){
$(this).attr('src',imgFile);
}
);
}
}
});
});
</script>
私によると、画像 src に RB が含まれている場合、メソッドは false を返す必要があります。ただし、ホバーすると常に画像が拡大されます。私がjQueryの初心者であることを助けてください。