我必须为单mouseover
显示两张图片。因此,当我mouseover
到图像时,首先显示图像,然后延迟时间为5000,需要显示相同悬停的图像。现在在mouseout
上显示原始图像。
我对JavaScript和jQuery不太熟悉 有人可以请你告诉我如何做到这一点。
我做的是,
$('.image1').mouseover(function() {
setInterval($(this).removeClass(.image1).addClass('image-over1'),5000);
$(this).removeClass(.image1).addClass('image-over2');
});
$('.image1').mouseout(function() {
$(this).removeClass('image-over1');
$(this).removeClass('image-over2').addClass(item);
});
$('.image1').click(function(){
document.location='index.php?page='index.php';
})
答案 0 :(得分:0)
首先,我认为你的方法存在问题;如果从鼠标悬停元素中删除“image1”类,则该元素将不会被鼠标输出的$(“。image1”)选择器匹配。你需要删除它吗?如果你这样做(即如果CSS中的类中有某些东西需要禁用),是否还有其他可以匹配的选择器?
关于时间延迟,如果您使用的jQuery版本大于1.4,则可以使用.delay()函数:
$('.image1').mouseover(function() {
$(this).addClass('image-over1').delay(5000).addClass('image-over2');
});
答案 1 :(得分:0)
.hover()
功能允许您同时指定鼠标悬停/鼠标移动,并且您需要为setInterval
创建一个函数:
$('.image1').hover(function(evt) {
// mouse over function.
// DOM Element that got the mouseover.
var target = evt.target;
if (target.timer) {
clearTimeout(target.timer);
target.timer = null;
}
target.timer = setInterval(function() {
// $(this) will not work here, since 'this' has changed.
// depending on your css you shouldn't need to remove the '.image1'
// class, just make sure .image-over1 and .image-over2 are
// stronger selectors, or occur after .image1
$('.image1').addClass('image-over2');
// at this point your element will be (just guessing <img>, could be
// anything really:
// <img class="image1 image-over1 image-over2" .../>
// it's absolutely fine for the image to have all those classes as
// long as your css is correct.
}, 5000);
$('.image1').addClass('image-over1');
}, function(evt) {
// mouse out function.
// DOM Element that got the mouseout.
var target = evt.target;
if (target.timer) {
clearTimeout(target.timer);
target.timer = null;
}
$('.image1').removeClass('image-over1');
$('.image1').removeClass('image-over2');
});
$('.image1').click(function(){ document.location='index.php?page='index.php'; })
答案 2 :(得分:0)
也许你要创建这些图像的动画GIF ???然后使用类似于此处的代码:http://www.netmechanic.com/news/vol3/design_no10.htm
答案 3 :(得分:0)
即使图像是在飞行中生成的,也可以在PHP中以编程方式生成动画gif - 请参阅http://php.net/manual/en/function.imagegif.php