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


Posted in Javascript onJanuary 25, 2017

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

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

布局:大盒子里面是图片,大盒子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 相关文章推荐
JS中令人发指的valueOf方法介绍
Feb 22 Javascript
Jquery实现自定义tooltip示例代码
Feb 12 Javascript
javascript实时获取鼠标坐标值并显示的方法
Apr 30 Javascript
JS控制FileUpload的上传文件类型实例代码
Oct 07 Javascript
快速实现jQuery多级菜单效果
Feb 01 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
Feb 07 Javascript
jQuery实现简单弹窗遮罩效果
Feb 27 Javascript
JS模拟超市简易收银台小程序代码解析
Aug 18 Javascript
JavaScript常见JSON操作实例分析
Aug 08 Javascript
一看就会的vuex实现登录验证(附案例)
Jan 09 Javascript
多个Vue项目部署到服务器的步骤记录
Oct 22 Javascript
vue-router路由懒加载及实现的3种方式
Feb 28 Vue.js
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
Jan 25 #Javascript
js实现文字选中分享功能
Jan 25 #Javascript
利用Js+Css实现折纸动态导航效果实例源码
Jan 25 #Javascript
jquery实现拖动效果(代码分享)
Jan 25 #Javascript
angular forEach方法遍历源码解读
Jan 25 #Javascript
three.js实现围绕某物体旋转
Jan 25 #Javascript
基于Marquee.js插件实现的跑马灯效果示例
Jan 25 #Javascript
You might like
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
JS查看对象功能代码
2008/04/25 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/07/18 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
2017/03/04 Javascript
React学习之事件绑定的几种方法对比
2017/09/24 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
微信小程序实现横向增长表格的方法
2018/07/24 Javascript
原生javascript运动函数的封装示例【匀速、抛物线、多属性的运动等】
2020/02/23 Javascript
Python中无限元素列表的实现方法
2014/08/18 Python
详解Python验证码识别
2016/01/25 Python
python监控文件或目录变化
2016/06/07 Python
python 数字类型和字符串类型的相互转换实例
2018/07/17 Python
django 消息框架 message使用详解
2019/07/22 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
通过代码简单了解django model序列化作用
2020/11/12 Python
美国亚马逊旗下时尚女装网店:SHOPBOP(支持中文)
2020/10/17 全球购物
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
异步传递消息系统的作用
2016/05/01 面试题
生产内勤岗位职责
2013/12/07 职场文书
百年校庆节目主持词
2014/03/27 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
班组拓展活动方案
2014/08/14 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
买房协议书范本
2014/10/23 职场文书
民事赔偿协议书
2014/11/02 职场文书
2014年生产管理工作总结
2014/12/23 职场文书
参加招聘会后的感想
2015/08/10 职场文书
节水宣传标语口号
2015/12/26 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
大学生各类奖学金申请书
2019/06/24 职场文书