背景图跟随鼠标移动的Mootools插件实现代码


Posted in Javascript onDecember 12, 2011

效果演示:
背景图跟随鼠标移动的Mootools插件实现代码
源代码:

<script style="text/javascript" src="https://ajax.googleapis.com/ajax/libs/mootools/1.4.1/mootools-yui-compressed.js"></script> 
</head> 
<body id='a'> 
<h2 class='a'>Single images</h2> 
<div id='bsfdimg' style='background:url("/upload/201112/20111212204031245.jpg") no-repeat scroll -50px -50px transparent;width:260px;height:200px;' w='392' h='600'></div> 
<script type='text/javascript'> 
var MoveBKimg=new Class({ 
initialize:function(){ 
this.$L=0; 
this.$T=0; 
}, 
Todo:function(i,opt){ 
this.opt={ 
bw:opt.bw || 0, //容器宽度 
bh:opt.bh || 0, 
iw:opt.iw || 0, //图像宽度 
ih:opt.ih || 0, 
X:opt.X || 0, //鼠标的clientX坐标 
Y:opt.Y || 0 
};o=this.opt; 
if(!i || !o.iw || !o.ih || !o.bw || !o.bh){return false;} 
o.iw=o.iw-o.bw; //图像实际可被移动的x轴范围 
o.ih=o.ih-o.bh; 
var P=i.getStyle('background-position');P=P.split(" ");//取得目前背景图的position值,并拆分转为Int型 
P[0]=P[0].toInt();P[0]=(P[0].abs()>o.iw)?((P[0]<0)?-o.iw:o.iw):P[0];//背景图目前的X偏移,并对值进行2次修正 
P[1]=P[1].toInt();P[1]=(P[1].abs()>o.ih)?((P[1]<0)?-o.ih:o.ih):P[1]; 
console.log(o.X+'|'+o.Y); 
if(o.X>this.$L){//往右移鼠标图片往左跑 




this.$L=o.X; 
P[0]=(o.iw<(P[0]-10))?o.iw:(P[0]-10); 
} 
if(o.X<this.$L){//往左移鼠标图片往右跑 





this.$L=o.X; 
P[0]=((P[0]+10)>0)?0:(P[0]+10); 
} 
if(o.Y>this.$T){//往下移鼠标图片往上跑 





this.$T=o.Y; 
P[1]=(o.ih<(P[1]-10))?o.ih:(P[1]-10); 
} 
if(o.Y<this.$T){//往上移鼠标图片往下跑 





this.$T=o.Y; 
P[1]=((P[1]+10)>0)?0:(P[1]+10); 
} 
i.setStyle('background-position',''+P[0]+'px '+P[1]+'px');//重新给背景图的position赋值 
} 
}); 
El=$('bsfdimg'); 
var MoveBKimg=new MoveBKimg(); 
El.addEvent('mousemove',function(event){ 
MoveBKimg.Todo(El,{bw:260,bh:200,iw:392,ih:600,X:event.client.x,Y:event.client.y}); 
}) 
</script>
Javascript 相关文章推荐
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
Nov 28 Javascript
iframe子父页面调用js函数示例
Nov 07 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
Nov 14 Javascript
javascript时间函数大全
Jun 30 Javascript
关于Javascript加载执行优化的研究报告
Dec 16 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
Jun 20 Javascript
AngularJS基础 ng-mouseleave 指令详解
Aug 02 Javascript
原生js实现类似fullpage的单页/全屏滚动
Jan 22 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
Dec 25 Javascript
一文快速了解JQuery中的AJAX
May 31 jQuery
jQuery表单校验插件validator使用方法详解
Feb 18 jQuery
JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)
May 27 Javascript
用Mootools获得操作索引的两种方法分享
Dec 12 #Javascript
整理8个很棒的 jQuery 倒计时插件和教程
Dec 12 #Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
Dec 11 #Javascript
Jquery阻止事件冒泡 event.stopPropagation
Dec 11 #Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
Dec 11 #Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
Dec 11 #Javascript
FireFox下XML对象转化成字符串的解决方法
Dec 09 #Javascript
You might like
php计算税后工资的方法
2015/07/28 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
jquery foreach使用示例
2013/09/12 Javascript
浅谈Javascript 执行顺序
2013/12/18 Javascript
js判断当前浏览器类型,判断IE浏览器方法
2014/06/02 Javascript
jquery使用正则表达式验证email地址的方法
2015/01/22 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
jquery插件格式实例分析
2016/06/16 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
基于openlayers4实现点的扩散效果
2020/08/17 Javascript
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
Vuex,iView UI面包屑导航使用扩展详解
2019/11/04 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
2020/12/04 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
Python and、or以及and-or语法总结
2015/04/14 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
2019/03/01 Python
如何更优雅地写python代码
2019/07/02 Python
详解django中Template语言
2020/02/22 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
学校安全检查制度
2014/01/27 职场文书
建筑工地质量标语
2014/06/12 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
入党积极分子考察意见
2015/06/02 职场文书
师范生见习自我总结
2015/06/23 职场文书
《槐乡的孩子》教学反思
2016/02/20 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
python 对图片进行简单的处理
2021/06/23 Python