js实现鼠标左右移动,图片也跟着移动效果

 更新时间:2017年01月25日 10:15:54   作者:happyzgm  
本文主要介绍了js实现鼠标左右移动,图片也跟着移动效果的方法与思路。具有很好的参考价值,下面跟着小编一起来看下吧

效果:鼠标往左移,图片对应右移,鼠标往右移,图片就左移动。图片距离越远偏移距离越大。

思路:首先获取图片原先的距离。设置一个变化值,图片的最终距离等于原先的距离加上变化值

布局:大盒子里面是图片,大盒子position:relative;图片position:absolute;

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
body{margin:0;}
#wrap{width:800px;height:500px;margin:30px auto; border:1px solid #000; position:relative;}
#wrap img{ position:absolute;}
#wrap img:nth-of-type(1){ left:200px;top:200px; z-index:0;}
#wrap img:nth-of-type(2){ left:300px;top:180px; z-index:1;}
#wrap img:nth-of-type(3){ left:100px;top:100px; z-index:2;}
#wrap img:nth-of-type(4){ left:400px;top:110px; z-index:3;}
</style>
</head>
<body>
<div id="wrap">
 <img src="http://cdn.attach.qdfuns.com/notes/pics/201701/18/094455cpacwz1yai2ap43p.jpg.editor.jpg" />
 <img src="http://cdn.attach.qdfuns.com/notes/pics/201701/18/094455csz3xxx1x23um7e9.jpg.editor.jpg" />
 <img src="http://cdn.attach.qdfuns.com/notes/pics/201701/18/094455fv3rzfoov04owrof.jpg.editor.jpg" />
 <img src="http://cdn.attach.qdfuns.com/notes/pics/201701/18/094455fv3rzfoov04owrof.jpg.editor.jpg" />
</div>
<script>
var oWrap=document.getElementById("wrap");
var aImg=oWrap.getElementsByTagName("img");
var iMax=4;
//获取图片的初始位置
for(var i=0;i<aImg.length;i++){
 aImg[i].startX=parseInt(getStyle(aImg[i],'left'))
}
oWrap.onmousemove=function(ev){
 ev=ev||window.event;
 //获取鼠标的位置与大盒子中心点位置的距离
 var iX=ev.clientX-(oWrap.offsetLeft+this.offsetWidth/2)
 for(var i=0;i<aImg.length;i++){
 //获取每个img的z-index
 var iZindex=getStyle(aImg[i],'zIndex')
 //Zindex越大移动的相对距离越小
 var iDisL=-parseInt(iX/iMax*(iMax-iZindex)/5)
 //图片的距离等于原先的距离加上计算的距离
 aImg[i].style.left=aImg[i].startX+iDisL+'px'
 }
}
function getStyle(obj,attr)
{
 if( obj.currentStyle){
 return obj.currentStyle[attr]; 
 }
 return getComputedStyle(obj)[attr]; 
}
</script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • javascript特殊文本输入框网页特效

    javascript特殊文本输入框网页特效

    这篇文章主要为大家详细介绍了javascript特殊文本输入框网页特效,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • JavaScript Konami Code 实现代码

    JavaScript Konami Code 实现代码

    JavaScript Konami Code 实现代码
    2009-07-07
  • JavaScript学习笔记之ES6数组方法

    JavaScript学习笔记之ES6数组方法

    ES6给数组添加了一些新特性,而这些新特性到目前为止完全可以运用到自己的业务层。在这一节中将总结有关于ES6给数组提供一些新特性的使用方法
    2016-03-03
  • underscore之Collections_动力节点Java学院整理

    underscore之Collections_动力节点Java学院整理

    underscore为集合类对象提供了一致的接口。集合类是指Array和Object,暂不支持Map和Set。下面通过本文给大家分享underscore之Collections的相关知识,需要的的朋友参考下吧
    2017-07-07
  • JavaScript实现为图片添加水印的方法详解

    JavaScript实现为图片添加水印的方法详解

    在很多地方,我们都可以看到,上传图片的时候,图片都会被加上默认的水印,因此,我们在个人网站进行图片操作时,也可以给它加上自己独特的水印,本文就为大家整理了JS添加图片合文字水印的方法,需要的可以参考一下
    2023-05-05
  • JavaScript无缝滚动效果的实例代码

    JavaScript无缝滚动效果的实例代码

    本文给大家分享一段实例代码有关js实现无缝滚动效果,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下
    2017-03-03
  • 原生js实现键盘控制div移动且解决停顿问题

    原生js实现键盘控制div移动且解决停顿问题

    这篇文章主要给大家介绍了如何利用原生js实现键盘控制div移动,并且解决在移动过程中的停顿问题,文中给出了详细的示例代码,相信对大家的理解和学习很有帮助,下面跟着小编一起来看看吧。
    2016-12-12
  • 微信小程序实现商品数据联动效果

    微信小程序实现商品数据联动效果

    这篇文章主要介绍了微信小程序实现商品数据联动效果,代码很简单,直接复制即可根据自己的需求去修改,对小程序商品数据联动实例代码感兴趣的朋友一起看看吧
    2022-08-08
  • BootStrap模态框和select2合用时input无法获取焦点的解决方法

    BootStrap模态框和select2合用时input无法获取焦点的解决方法

    在bootstrap的模态框里使用select2插件,会导致select2里的input输入框没有办法获得焦点,没有办法输入。怎么解决这个问题呢?下面小编给大家带来了BootStrap模态框和select2合用时input无法获取焦点的解决方法,一起看看吧
    2017-09-09
  • JavaScript 常见安全漏洞和自动化检测技术

    JavaScript 常见安全漏洞和自动化检测技术

    js安全漏洞目前存在较大的技术难题,本文结合案例给大家详解JavaScript 常见安全漏洞和自动化检测技术,需要的朋友可以参考下
    2015-08-08

最新评论