如何使用jquery在鼠标移动中更改div中的图像源?

问题描述 投票:0回答:4

我正在努力教自己如何编码(特别是网站)。我对html和css有很好的了解,而且我正在学习js。但知道我需要社区的帮助才能取得进步!

我想知道如何在每次鼠标移动中多次(按顺序)实现更改图像源的效果?例如:http://next2nothi.ng/

经过几次搜索,我无法找到实现这一目标的良好解决方案......

在此先感谢您的帮助!

javascript jquery image swap mousemove
4个回答
2
投票

尝试

let list=[...Array(20)].map((x,i)=>`https://picsum.photos/150/150?image=${i}`);
let index=0;

document.addEventListener("mousemove", function(){
  document.getElementById("myImg").src = list[ ++index % list.length];  
});
<img id="myImg" width="150px" heigh="150px" >

0
投票

这是一个简单的例子。因此,当您在特定div上触发鼠标移动事件时,您需要有一个要显示的图像列表,您可以从列表中选择一个随机图像并将其设置为div的背景图像:

function SwapBackgroundImage(){
   var listOfImages = ['urlToimage1','urlToImage2', 'and etc'];    // so have your array
    $('#myDiv').on('mousemove',function(){
          // i am picking the first image here, but you can google how to pick a random element in an array and use that
         $(this).css('background-image', 'url(' + listOfImages[0]+ ')');
    });

}

<div id="myDiv"></div>

而已。


0
投票

你好Ted_M你不需要使用jQuery,它非常简单,你可以通过几行代码接收它,即声明一个函数,它将检查鼠标是否移动。

var myListener = function () {
document.removeEventListener('mousemove', myListener, false);
// do stuff
document.getElementById("imageid").src="../template/save.png";
};
document.addEventListener('mousemove', myListener, false);

现在您需要更改图像网址

document.getElementById("imageid").src="../template/save.png";

所以现在方法将是

var myListener = function () {
document.removeEventListener('mousemove', myListener, false);
// do stuff
  document.getElementById("imageid").src="../template/save.png";
};
document.addEventListener('mousemove', myListener, false);

就是这样,如果要与您提供的链接相同,则必须将图像URL存储在数组中。谢谢你评论任何帮助。


0
投票
let listImageURL = ['urlToImg1.png','urlToImg2.png','..3.png', ... till how much you need];
let body = document.querySelector('body').addEventListener('mouseover',function(event){
     // take list of images
      for(let i = 0; i<=listImageURL.length-1;i++){
           event.target.style.background = `url(${listImageURL[i]})`;
       }
});

HTML:
<body>
</body>
© www.soinside.com 2019 - 2024. All rights reserved.