此代码同时触发,立即从01跳到04。我试图让它在该图像的第二个.mouseover上触发第二个if语句,然后在第三个.mouseover上触发第三个if语句等。似乎无法弄明白。
if($('img[src*="01"]')){
$('img').mouseover(function () {
$(this).attr('src', function(i, src) {
return src.replace( '01', '02' );
});
})
}
if($('img[src*="02"]')){
$('img').mouseover(function () {
$(this).attr('src', function(i, src) {
return src.replace( '02', '03' );
});
});
}
if($('img[src*="03"]')){
$('img').mouseover(function () {
$(this).attr('src', function(i, src) {
return src.replace( '03', '04' );
});
});
}
答案 0 :(得分:0)
您必须创建某种机制来保持整体交互状态。此机制将是客户端等效于服务器端视图状态。 我想你可以使用全局变量来做到这一点。 Here解释了javascript变量的生命周期。
全局变量的生命周期在声明时开始,并且 页面关闭时结束。
说完这些后,您将使用一个变量来计算特定用户的悬停时间。然后你会检查悬停时间和你的状况。您的代码应如下所示:
globalHoverCount = globalHoverCount + 1;
if(globalHoverCount=1){ //globalHoverCount is the global variable
if($('img[src*="01"]')){
$('img').mouseover(function () {
$(this).attr('src', function(i, src) {
return src.replace( '01', '02' );
});
}) }
}
希望我帮忙!