jquery+js实现鼠标位移放大镜效果
jQuery实现仿某东商品详情页放大镜效果
用jquery+js实现放大镜效果,效果大概如下图!

效果是不是大家很感兴趣,放大镜查看细节,下边大家可以详细看一看具体是怎么实现的。下边直接看代码!
HTML部分排版
代码就不上了,大概思路就是左右两个DIV,一个用来显示正常显示的页面,一个用来显示放大图片!

js+jquery实现效果代码如下:
var $magPic=$("#magPic");
var $magRic=$("#magRic");
var $mag=$(".mag");
var $boxT=$(".boxT");
$(".ul1 li").mouseenter(function(){
//attr()添加属性
$magPic.attr("src",$(this).find("img").attr("src"));
$magRic.attr("src",$(this).find("img").attr("src"));
});
鼠标点击实现下边图片传到上边图片效果;
//鼠标点击左右两侧发生改变
var marginLeft=0;
$(".boxB .span2").on("click",function(){
marginLeft=marginLeft-63;
if(marginLeft<-252) marginLeft=-252;
$(".boxB .ul1").css({"margin-left":marginLeft});
})
$(".boxB .span1").on("click",function(){
marginLeft=marginLeft+63
if(marginLeft>0) marginLeft=0;
$(".boxB .ul1").css({"margin-left":marginLeft});
})
//放大镜效果
//offset()获取匹配元素在当前视口的相对偏移。,配合LEFT,与TOP使用、
//client获取适口的位置!
//outerWidth元素的宽度包含padding()和border()
var L=$boxT.eq(0).offset().left;
var T=$boxT.eq(0).offset().top;
var mag_width=$mag.outerWidth()/2;
var mag_height=$mag.outerHeight()/2;
var maxL=$boxT.width()-$mag.outerWidth();
var maxT=$boxT.height()-$mag.outerHeight();
var bili=$magRic.width()/$magPic.width();
$boxT.mousemove(function(e){
//document.title=e.clientX+","+e.clientY;
var magL=e.clientX-L-mag_width,magT=e.clientY-T-mag_height;
//行内判断可以用if这种语句、
if(magL<0)magL=0;
if(magT<0)magT=0;
if(magL>maxL)magL=maxL;
if(magT>maxT)magT=maxT;
$mag.css({"left":magL,"top":magT});
/*$(".Bright").show();
$(".mag").show();*/
//可修改为(合并选择器一起返回)
$(".Bright,.mag").show()
//右边显示层效果
$magRic.css({"margin-left":-magL*bili,"margin-top":-magT*bili})
});
$boxT.mouseleave(function(){
$(".Bright").hide();
$(".mag").hide();
$(".Bright,.mag").hide()
})
这里需要计算css的位置,然后用到鼠标适口位置等!
大概就是这样大家可以去试试!
jquery+js实现鼠标位移放大镜效果的更多相关文章
- 原生js实现简单的放大镜效果
前言:相信很多同学在浏览购物网站的时候都会用到过放大镜的功能,这个功能在日常的网站也会经常用到.接下来我们开始实现一下它吧: (1)首先了解一下放大镜效果的html架构:如下图,它由两部分组成. ht ...
- JS实现鼠标移入水波效果
前言 最近比较沉迷JS,所以我现在来做个鼠标的交互效果 HTML <div style="border-radius;position:relative;width:800px;hei ...
- JS框架_(JQuery.js)图片相册掀开切换效果
百度云盘 传送门 密码:y0dk 图片掀开切换效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo ...
- 使用CSS3+jquery.js 实现微信抽奖转盘效果
上次发表了一篇 微信抽奖转盘活动-效果源码分析 最近想起了刚接到这个项目时第一时间脑海里迸出的解决方法 “CSS3”! 为什么不能用CSS3来实现呢? 所以我打算用CSS3来实现这个效果.并不需要依赖 ...
- js购物时的放大镜效果
首先需要两张一样的图片,一张大图,一张小图,大图显示,当鼠标移入时,小图上出现一个滑块,可以滑动,大图也跟着显示,大图的显示区域和小图一样,当滑块滑到不同的位置,大图显示不同的区域,当鼠标移出时,滑块 ...
- js实现鼠标吸附线条效果
如图,箭头→为鼠标位置,鼠标会带有吸附着一些线条的效果,具体效果可在我的博客查看,当然,这也是可很受欢迎很常见的效果了=3= <script> !function(){ function ...
- 关于jQuery中实现放大镜效果
1.1.1 摘要 相信大家都见过或使用过放大镜效果,甚至实现过该效果,它一般应用于放大查看商品图片,一些电商网站(例如:凡客,京东商城,阿里巴巴等)都有类似的图片查看效果. 在接下来的博文中,我们将向 ...
- jQuery实现放大镜效果
1.1.1 摘要 相信大家都见过或使用过放大镜效果,甚至实现过该效果,它一般应用于放大查看商品图片,一些电商网站(例如:凡客,京东商城,阿里巴巴等)都有类似的图片查看效果. 在接下来的博文中,我们将向 ...
- 使用jquery实现放大镜效果
原文:使用jquery实现放大镜效果 实现原理 首先,我们讲解一下放大镜效果的实现方式: 方法一:准备一张高像素的大图,当鼠标放到原图上,加载显示大图的对应位置. 方法二:对原图片进行放大,也就是调整 ...
随机推荐
- linux常用操作命令
cd: cd /data 进入目录 cd .. 返回上级菜单tar: tar -cvf jcms20170411.tar.gz jcms/ 将jcms文件夹打包为 jcms20170411.tar.g ...
- Unity 学习Json篇
介绍 JSON是一个简单的,但功能强大的序列化数据格式.它定义了简单的类型,如布尔,数(int和float)和字符串,和几个数据结构:list和dictionnary.可以在http://JSON.o ...
- WinForm中控件位置不随窗体大小的变化而改变
背景:在窗体开发中使控件的位置不随窗体的大小改变而变化的问题?这是一个同事在开发时遇到的问题,在思考试错之后,写出如下代码. 声明成员: Point m_InitLocation; Size m_In ...
- 0-创建scott示例数据
CREATE TABLE dept ( deptno INT PRIMARY KEY, dname VARCHAR(14), loc VARCHAR(13) ); INSERT INTO d ...
- Libevent浅析
前段时间对Libevent的源码进行了阅读,现整理如下: 介绍 libevent是一个轻量级的开源高性能事件驱动网络库,是一个典型的Reactor模型.其主要特点有事件驱动,高性能,跨平台,统一事件源 ...
- Swift、Objective-C 单例模式 (Singleton)
Swift.Objective-C 单例模式 (Singleton) 本文的单例模式分为严格单例模式和不严格单例模式.单例模式要求一个类有一个实例,有公开接口可以访问这个实例.严格单例模式,要求一个类 ...
- 系统启动 之 Linux系统启动概述(2)
博客:http://blog.csdn.net/younger_china/article/details/51615916 Linu系统启动是一个"冗长乏味"的过程,那么我们现就 ...
- hibernate 使用 hibernate tool 生成配置文件和实体类
安装Hibernate插件 下载所需的Hibernatetools http://www.hibernate.org/6.html 将下载得到的文件解压得到的features和plugins文件夹, ...
- 需求收集实例三之 FM
暂且叫这个项目叫FM.FM项目采用敏捷模式,需求的表现形式是Story. 此项目需求收集过程如下: 亮点:在公司第一次实践敏捷.用Story 而非 需求说明文档呈现需求. 败笔:没有处理好Story ...
- 查询表达式和LINQ to Objects
查询表达式实际上是由编译器“预处理”为“普通”的C#代码,接着以完全普通的方式进行编译.这种巧妙的发式将查询集合到了语言中,而无须把语义改得乱七八糟 LINQ的介绍 LINQ中的基础概念 降低两种数据 ...