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 EasyUI API 中文文档 - ValidateBox验证框
Oct 06 Javascript
js获取页面传来参数的方法
Sep 06 Javascript
JS 作用域与作用域链详解
Apr 07 Javascript
JavaScript将字符串转换为整数的方法
Apr 14 Javascript
移动端点击态处理的三种实现方式
Jan 12 Javascript
Vue.js -- 过滤器使用总结
Feb 18 Javascript
微信小程序 PHP生成带参数二维码
Feb 21 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
Apr 27 jQuery
bootstrap中selectpicker下拉框使用方法实例
Mar 22 Javascript
Webstorm2016使用技巧(SVN插件使用)
Oct 29 Javascript
微信小程序swiper实现滑动放大缩小效果
Nov 15 Javascript
原生js实现拖拽移动与缩放效果
Aug 24 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
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
PHP常用操作类之通信数据封装类的实现
2017/07/16 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
2019/10/30 PHP
JQuery UI皮肤定制
2009/07/27 Javascript
详解js私有作用域中创建特权方法
2016/01/25 Javascript
基于jQuery实现仿51job城市选择功能实例代码
2016/03/02 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
2016/03/11 Javascript
require.js配合插件text.js实现最简单的单页应用程序
2016/07/12 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
基于BootStrap的文本编辑器组件Summernote
2017/10/27 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
js 动态校验开始结束时间的实现代码
2020/05/25 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
[05:26]2014DOTA2西雅图国际邀请赛 iG战队巡礼
2014/07/07 DOTA
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
python获得文件创建时间和修改时间的方法
2015/06/30 Python
bat和python批量重命名文件的实现代码
2016/05/19 Python
Django学习笔记之Class-Based-View
2017/02/15 Python
python构建自定义回调函数详解
2017/06/20 Python
python利用sklearn包编写决策树源代码
2017/12/21 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
Python多线程的退出控制实现
2020/08/10 Python
八年级音乐教学反思
2014/01/09 职场文书
教师申诉制度
2014/01/29 职场文书
机械工程师岗位职责
2014/06/16 职场文书
学雷锋志愿者活动总结
2014/06/27 职场文书
学雷锋志愿者活动方案
2014/08/21 职场文书
先进人物事迹材料
2014/12/29 职场文书
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL
WebWorker 封装 JavaScript 沙箱详情
2021/11/02 Javascript