Javascript 如何在两个徽标之间交换?
我有以下代码:Javascript 如何在两个徽标之间交换?,javascript,jquery,Javascript,Jquery,我有以下代码: var logo1=“//cdn.shopify.com/s/files/1/0816/3411/t/3/assets/logo_2x.png”; var logo2=“//cdn.shopify.com/s/files/1/0816/3411/t/3/assets/logo\u hover\u 2x.png”; var图像=新阵列(logo1、logo2); var指数=1; 函数rotateImage() { $('.logoimage').fadeOut('fast',f
var logo1=“//cdn.shopify.com/s/files/1/0816/3411/t/3/assets/logo_2x.png”;
var logo2=“//cdn.shopify.com/s/files/1/0816/3411/t/3/assets/logo\u hover\u 2x.png”;
var图像=新阵列(logo1、logo2);
var指数=1;
函数rotateImage()
{
$('.logoimage').fadeOut('fast',function()
{
$(this.attr('src',images[index]);
$(this.fadeIn('fast',function())
{
if(index==images.length-1)
{
指数=0;
}
其他的
{
索引++;
}
});
});
}
$(文档).ready(函数()
{
设置间隔(旋转图像,5000);
});
var图像=新阵列(logo2);
var指数=1;
函数rotateImage()
{
$('.logoimage').fadeOut('fast',function()
{
$(this.attr('src',images[index]);
$(this.fadeIn('fast',function())
{
if(index==images.length-1)
{
指数=0;
}
其他的
{
索引++;
}
});
});
}
$(文档).ready(函数()
{
设置间隔(旋转图像,5000);
});
您可以使用如下JavaScript更改img标记的src
function hover(element) {
element.setAttribute('src', '//cdn.shopify.com/s/files/1/0816/3411/t/3/assets/logo_2x.png');
}
function unhover(element) {
element.setAttribute('src', '//cdn.shopify.com/s/files/1/0816/3411/t/3/assets/logo_hover_2x.png');
}
而html是
<img id="my-img" src="http://dummyimage.com/100x100/000/fff" onmouseover="hover(this);" onmouseout="unhover(this);" />
HTML:
在元素内或元素外悬停时,使用jQuery运行代码。还可以使用setTimeout在延迟后运行代码
var logo1=“//cdn.shopify.com/s/files/1/0816/3411/t/3/assets/logo_2x.png”;
var logo2=“//cdn.shopify.com/s/files/1/0816/3411/t/3/assets/logo\u hover\u 2x.png”;
$(函数(){
$('.logoimage').hover(函数(){
setTimeout(函数(){
$('.logoimage').attr('src',logo2);
}, 1000);
},函数(){
setTimeout(函数(){
$('.logoimage').attr('src',logo1);
}, 1000);
});
});代码>
我想做的是在延迟后在这些图像之间进行交换,我不想重新加载它们,因为您可以建议更好的方法来实现相同的效果。。欢迎:)@savenzaarkulbach,为此修改anwer!我不确定我是否不清楚,但我正在尝试以大约10秒的延迟旋转这些图像。我现在的脚本正在工作,但在第一次加载时,它将图像作为新图像加载,这不是我想要的。是否可以选择已加载的图像?巴迪,请明确您的要求,并在问题中明确提及,目前这是正确的解决方案。您能否制定一个规则,如果图像已显示,则显示另一个图像?
var images = new Array();
images[0] = "logo_1.png";
images[1] = "logo_2.png";
var images = new Array();
for (var i = 0; i < 2; i++) {
images.push("logo_" + i + ".png");
}
var x = 0;
function changeImage() {
document.getElementById('ad').src = images[x];
if (x < 8) {
x += 1;
} else {
x = 0;
}
if (window.addEventListener) {
window.addEventListener('load', changeImg, false);
}
function changeImg() {
var x = 0;
setInterval(function() {
changeImage()
},5000);
}
<img id="ad" src="//cdn.shopify.com/s/files/1/0816/3411/t/3/assets/logo_2x.png" />