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 相关文章推荐
jquery.ui.draggable中文文档
Nov 24 Javascript
一个可拖拽列宽表格实例演示
Nov 26 Javascript
把jquery 的dialog和ztree结合实现步骤
Aug 02 Javascript
简介JavaScript中的push()方法的使用
Jun 09 Javascript
React Native实现简单的登录功能(推荐)
Sep 19 Javascript
jquery判断类型是不是number类型的实例代码
Oct 07 Javascript
使用canvas及js简单生成验证码方法
Apr 02 Javascript
简单实现js拖拽效果
Jul 25 Javascript
js使用generator函数同步执行ajax任务
Sep 05 Javascript
Bootstrap实现的表格合并单元格示例
Feb 06 Javascript
Vue插槽原理与用法详解
Mar 05 Javascript
使用vant的地域控件追加全部选项
Nov 03 Javascript
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 curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
2011/04/07 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
PHP简单判断手机设备的方法
2016/08/23 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
Laravel 自动生成验证的实例讲解:login / logout
2019/10/14 PHP
javascript简易缓动插件(源码打包)
2012/02/16 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
Angular使用ng-messages与PHP进行表单数据验证
2016/12/28 Javascript
微信小程序 跳转方式总结
2017/04/20 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
详解webpack进阶之插件篇
2017/07/06 Javascript
JavaScript实现简单生成随机颜色的方法
2017/09/21 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
vue-router传参用法详解
2019/01/19 Javascript
微信小程序如何获取群聊的openGid以及名称详解
2019/07/17 Javascript
layui radio单选限制下一个radio单选的实例
2019/09/03 Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
2020/05/19 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
2020/11/03 Javascript
Python学习教程之常用的内置函数大全
2017/07/14 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
Python使用os.listdir和os.walk获取文件路径
2020/05/21 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
党员创先争优承诺书
2014/03/26 职场文书
继承公证书样本
2014/04/04 职场文书
情人节活动总结范文
2015/02/05 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
2016年教师新年寄语
2015/08/18 职场文书
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python
ICOM R71E和R72E图文对比解说
2022/04/07 无线电