本文实例讲述了jQuery实现的响应鼠标移动方向插件用法。分享给大家供大家参考,具体如下:

HTML代码如下:

www.jb51.net jQuery响应鼠标移动

*{margin:0;padding:0;}

ul,li{list-style:none;}

div{font-family:"Microsoft YaHei";}

html,body{width:100%; height:100%; background:#f2f2f2;}

ul{margin-left:50px;}

ul li{float:left;}

ul li .outer{width:300px; height:250px;}

ul li .outer .inner{width:300px; height:250px; background:rgba(0, 0, 0, .3);}

  • 我是图片1

  • 我是图片2

  • 我是图片3

  • 我是图片4

  • 我是图片5

  • 我是图片6

  • 我是图片7

  • 我是图片8

(function($){

$.fn.extend({

show : function(div){

var w = this.width(),

h = this.height(),

xpos = w/2,

ypos = h/2,

eventType = "",

direct = "";

this.css({"overflow" : "hidden", "position" : "relative"});

div.css({"position" : "absolute", "top" : this.width()});

this.on("mouseenter mouseleave", function(e){

var oe = e || event;

var x = oe.offsetX;

var y = oe.offsetY;

var angle = Math.atan((x - xpos)/(y - ypos)) * 180 / Math.PI;

if(angle > -45 && angle < 45 && y > ypos){

direct = "down";

}

if(angle > -45 && angle < 45 && y < ypos){

direct = "up";

}

if(((angle > -90 && angle 45 && angle <90)) && x > xpos){

direct = "right";

}

if(((angle > -90 && angle 45 && angle <90)) && x < xpos){

direct = "left";

}

move(e.type, direct)

});

function move(eventType, direct){

if(eventType == "mouseenter"){

switch(direct){

case "down":

div.css({"left": "0px", "top": h}).stop(true,true).animate({"top": "0px"}, "fast");

break;

case "up":

div.css({"left": "0px", "top": -h}).stop(true,true).animate({"top": "0px"}, "fast");

break;

case "right":

div.css({"left": w, "top": "0px"}).stop(true,true).animate({"left": "0px"}, "fast");

break;

case "left":

div.css({"left": -w, "top": "0px"}).stop(true,true).animate({"left": "0px"}, "fast");

break;

}

}else{

switch(direct){

case "down":

div.stop(true,true).animate({"top": h}, "fast");

break;

case "up":

div.stop(true,true).animate({"top": -h}, "fast");

break;

case "right":

div.stop(true,true).animate({"left": w}, "fast");

break;

case "left":

div.stop(true,true).animate({"left": -w}, "fast");

break;

}

}

}

}

});

})(jQuery)

$(".outer").each(function(i){

$(this).show($(".inner").eq(i));

});

其中控制响应鼠标方向的JS代码如下:

/*

*使用说明:

* $(".a").show($(".b"))

* a是展示层,b是遮罩层

* b在a的内部

*/

$(".outer").each(function(i){

$(this).show($(".inner").eq(i));

});

这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun运行代码,可得到如下效果:

完整实例代码点击此处本站下载。

希望本文所述对大家jQuery程序设计有所帮助。

鼠标移动响应php程序,jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】...相关推荐

  1. php jquery ajax登录,jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)

    弹出层主要用于展示丰富的页面信息,还有一个更好的应用是弹出表单层丰富交互应用.常见的应用有弹出登录表单层,用户提交登录信息,后台验证登录成功后,弹出层消失,主页面局部刷新用户信息.本文我们将给大家介绍 ...

  2. echarts asp mysql 源码_如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)...

    ECharts地图主要用于地理区域数据的可视化,展示不同区域的数据分布信息.ECharts官网提供了中国地图.世界地图等地图数据下载,通过js引入或异步加载json文件的形式调用地图. 本文将结合实例 ...

  3. 响应式五金机械网站pbootcms模板,蓝色营销型五金配件网站源码下载

    (自适应移动端)响应式五金机械网站pbootcms模板,蓝色营销型五金配件网站源码下载.旋转接头管道接头生产类网站pbootcms模板(自适应手机端)+利于SEO优化. PbootCMS内核开发的网站 ...

  4. 响应式包装礼品盒设计pbootcms模板,营销型包装厂家网站源码下载

    (响应式)响应式包装礼品盒设计pbootcms模板,营销型包装厂家网站源码下载.包装生产设计类网站pbootcms模板(自适应手机端)+利于SEO优化. 浩沐资源网https://www.dhaomu ...

  5. 响应式重工业钢铁机械类网站pbootcms模板,html5工业设备网站源码下载

    (自适应手机版)响应式重工业钢铁机械类网站pbootcms模板,html5工业设备网站源码下载. PbootCMS内核开发的网站模板,该模板适用于企业通用.营销型.钢铁.钢材.重工业.机械.工业设备. ...

  6. (自适应手机端)响应式勘察设计院蓝色网站pbootcms模板 政府单位商会协会网站源码下载

    (自适应手机端)响应式勘察设计院蓝色网站pbootcms模板 政府单位商会协会网站源码下载 PbootCMS内核开发的网站模板,该模板适用于政府单位网站.勘察设计院网站等企业,当然其他行业也可以做,只 ...

  7. ZedGraph5.1.5源码分析去掉鼠标悬浮内容闪烁问题(附源码下载)

    场景 在使用ZedGraph绘制曲线图时,将鼠标悬浮时内容闪烁,且频率很高. 找到其源码,发现不论鼠标移动的范围大小,甚至乎不论鼠标是否移动,都要刷新一次Tooltip. 注: 博客主页: https ...

  8. leaflet+geoserve+jquery实现简单Webgis系统(附源码下载)

    1.基于leaflet的小系统,源码1000多行,能注释的我都注释了,运行没有任何问题,源码下载链接在评论区: 2.里面用到了很多插件,大部分插件都是使用BootCDN的复制<script> ...

  9. 黯然微信小程序杂记(二):小程序最新版登录并进行缓存模块的实现 附源码

    黯然微信小程序杂记(二):小程序最新版登录进行缓存模块的实现 附源码 一.功能描述 二.mine.wxml界面图片 三.mine.wxml代码 四.mine.wxss代码 五.mine.js代码 六. ...

最新文章

  1. JavaScript优化基本篇
  2. [UOJ #222][NOI2016]区间(线段树)
  3. 《 Spring1之第二次站立会议(重发)》
  4. java web项目里ehcache.xml的参数说明
  5. 方法引用_通过类名引用静态成员方法
  6. 在Grails 2.0中使用Servlet 3.0异步功能
  7. Taro+react开发(8)--控制跳转
  8. Java 程序连接 Informix 数据库方法实例介绍
  9. 设计模式之十二:组合模式(composite)
  10. mqdf matlab,mexopenCV的配置学习过程
  11. kdj指标主要看哪个值_终于有人把KDJ指标总结全了,值得收藏
  12. C语言基础专题 - 头文件引用
  13. delphi 可以自定义边框的文本框TSkinNormalEdit思路(QQ2011风格)
  14. MATLAB求分段函数最大值,如何用MATLAB求分段函数的最小值和最大值?
  15. 慢品国学---“人皆有不忍之心“
  16. 用python提取发票扫描件常用的10多个发票信息保存到excel表
  17. java 文件缓冲区_基于直接缓冲区和非直接缓冲区的javaIO文件操作
  18. 小米妙享更新的安装包下载到了电脑的哪里
  19. 螺栓扭矩查找表excel下载
  20. macbook上好用的软件

热门文章

  1. mysql日期为00_MySQL 8.0.13 设置日期为0000-00-00 00:00:00时出现的问题
  2. Spring目录结构和基础JAR包介绍
  3. java类和对象程序_Java类与对象程序设计基础
  4. poi 设置word表格颜色_POI工具练习
  5. C++ PAT 乙级 ——1002 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
  6. matlab指令vpa(j10),matlab中vpa函数
  7. etcd 启动分析_Etcd 架构与实现解析
  8. Python小白的数学建模课-22.插值方法
  9. 接口可以继承抽象类吗_Python接口类的多继承以及抽象类的单继承
  10. java接口文档生成工具_【分享】接口文档生成工具apipost