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

 更新时间:2011年12月12日 20:40:41   作者:  
背景图跟随鼠标移动的Mootools插件实现代码,学习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>

相关文章

  • Mootools 1.2教程 类(一)

    Mootools 1.2教程 类(一)

    今天我们将讲一下用MooTools来创建和使用类的一些基本知识。
    2009-09-09
  • MooTools 1.2介绍

    MooTools 1.2介绍

    有人最近要求我们写一个关于MooTools 1.2的30天的教程,这似乎也是个很不错的主意,于是我们决定现在就开始。在这些教程中,我们假设用户没有任何MooTools或者是JavaScript经验,但是至少有基本的HTML和CSS知识。
    2009-09-09
  • Mootools 1.2教程 设置和获取样式表属性

    Mootools 1.2教程 设置和获取样式表属性

    今天,我们来看一下如何通过MooTools 1.2和我们以前几讲中的内容来操作样式,这将给你在UI上带来很大的控制权。
    2009-09-09
  • Mootools 1.2教程 滚动条(Slider)

    Mootools 1.2教程 滚动条(Slider)

    到现在为止,初始化这些MooTools插件对象就会开始变得越来越熟悉。滚动条(Slider)没有任何不同,你要创建一个新的滚动条,定义滚动条和滑块相关的元素,然后设置你的选项,再创建一些回调事件的控制函数。
    2009-09-09
  • 基于mootools的圆角边框扩展代码

    基于mootools的圆角边框扩展代码

    做圆角边框一般有两种方法,背景图片或者DIV+CSS拼出来。
    2010-02-02
  • Mootools 1.2 手风琴(Accordion)教程

    Mootools 1.2 手风琴(Accordion)教程

    继续我们的“更多”(More)库里面的插件教程,今天我们来学习一下可能是最流行最受欢迎的插件——手风琴。
    2009-09-09
  • Mootools 1.2教程(3) 数组使用简介

    Mootools 1.2教程(3) 数组使用简介

    在上一篇教程——《Mootools 1.2教程(2)——DOM选择器》中,我们介绍了一下选择器,其中有很多方法就会返回数组(一个你可以对其中内容进行多种操作的特殊列表)。
    2009-09-09
  • Mootools 1.2教程 输入过滤第一部分(数字)

    Mootools 1.2教程 输入过滤第一部分(数字)

    今天我们来看看MooTools是怎样使得过滤用户输入变得非常轻松。我们今天将讲一些基本的数字过滤,明天再更深入地讲讲字符串过滤。
    2009-09-09
  • Mootools 1.2教程 正则表达式

    Mootools 1.2教程 正则表达式

    今天我们将先简要地看一下正则表达式,然后再看一下MooTools提供的一些让正则表达式更容易使用的功能。
    2009-09-09
  • 用Mootools获得操作索引的两种方法分享

    用Mootools获得操作索引的两种方法分享

    用Mootools获得操作索引的两种方法分享,需要的朋友可以参考下。
    2011-12-12

最新评论