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实现鼠标位移放大镜效果的更多相关文章

  1. 原生js实现简单的放大镜效果

    前言:相信很多同学在浏览购物网站的时候都会用到过放大镜的功能,这个功能在日常的网站也会经常用到.接下来我们开始实现一下它吧: (1)首先了解一下放大镜效果的html架构:如下图,它由两部分组成. ht ...

  2. JS实现鼠标移入水波效果

    前言 最近比较沉迷JS,所以我现在来做个鼠标的交互效果 HTML <div style="border-radius;position:relative;width:800px;hei ...

  3. JS框架_(JQuery.js)图片相册掀开切换效果

    百度云盘 传送门 密码:y0dk 图片掀开切换效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo ...

  4. 使用CSS3+jquery.js 实现微信抽奖转盘效果

    上次发表了一篇 微信抽奖转盘活动-效果源码分析 最近想起了刚接到这个项目时第一时间脑海里迸出的解决方法 “CSS3”! 为什么不能用CSS3来实现呢? 所以我打算用CSS3来实现这个效果.并不需要依赖 ...

  5. js购物时的放大镜效果

    首先需要两张一样的图片,一张大图,一张小图,大图显示,当鼠标移入时,小图上出现一个滑块,可以滑动,大图也跟着显示,大图的显示区域和小图一样,当滑块滑到不同的位置,大图显示不同的区域,当鼠标移出时,滑块 ...

  6. js实现鼠标吸附线条效果

    如图,箭头→为鼠标位置,鼠标会带有吸附着一些线条的效果,具体效果可在我的博客查看,当然,这也是可很受欢迎很常见的效果了=3= <script> !function(){ function ...

  7. 关于jQuery中实现放大镜效果

    1.1.1 摘要 相信大家都见过或使用过放大镜效果,甚至实现过该效果,它一般应用于放大查看商品图片,一些电商网站(例如:凡客,京东商城,阿里巴巴等)都有类似的图片查看效果. 在接下来的博文中,我们将向 ...

  8. jQuery实现放大镜效果

    1.1.1 摘要 相信大家都见过或使用过放大镜效果,甚至实现过该效果,它一般应用于放大查看商品图片,一些电商网站(例如:凡客,京东商城,阿里巴巴等)都有类似的图片查看效果. 在接下来的博文中,我们将向 ...

  9. 使用jquery实现放大镜效果

    原文:使用jquery实现放大镜效果 实现原理 首先,我们讲解一下放大镜效果的实现方式: 方法一:准备一张高像素的大图,当鼠标放到原图上,加载显示大图的对应位置. 方法二:对原图片进行放大,也就是调整 ...

随机推荐

  1. apache-maven-3.3.9 环境配置

    本地 maven 环境 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.Maven是 Apache 下的一个项目,目前我的新版本是 3.3.9. 1.官网下载 Maven:http:/ ...

  2. Hadoop之HDFS原理及文件上传下载源码分析(上)

    HDFS原理 首先说明下,hadoop的各种搭建方式不再介绍,相信各位玩hadoop的同学随便都能搭出来. 楼主的环境: 操作系统:Ubuntu 15.10 hadoop版本:2.7.3 HA:否(随 ...

  3. CSS开发框架技术OOCSS编写和管理CSS的方法

    目前最流行的CSS开发框架技术当属OOCSS,尽管还有其他类似技术(如BEM).这些方法试图对CSS采用面向对象的编程原则.样式语言与面向对象的设计原则在概念之间存在一定的问题.欠缺经验的人员可能不会 ...

  4. IO流中的Stream相关对象

    流无处不在,只要是关于到文件的输入.输出.更新等,关于IO流,项目中还是经常用到的,写log日志免不了要与其打交道,现在需要用到,就顺道好好回顾一下进行整理,首先是几个需要用到的类的说明,其实说简单点 ...

  5. CentOS 6.8下安装docker并使用

    Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.利用Linux的LXC.AUFS.Go语言.cgroup实现了资源的独立,可以很轻松的实现文件.资 ...

  6. 关于dom脚本编程的一些优秀理念总结

    1.平稳退化(优雅降级) 目的:当浏览器不支持js或者js被用户禁用时,做到即使不运行js,网页的可读性亦不会受到太大的影响. 理念:使用最新的技术面向高级浏览器构建最强的功能及用户体验,然后针对低级 ...

  7. 软件开发的一些"心法"

    从事软件开发也有好几年了,和一开始那个懵懵懂懂的小菜鸟相比,自己也感觉到了一些变化. 也许是熟能生巧, 趟过很多坑,但核心的绝不是这些细节的东西. 打个比方,如果说对某种语言的特性和技巧的掌握属于身法 ...

  8. Github开源:Sheng.RabbitMQ.CommandExecuter (RabbitMQ 的命令模式实现)

    [Github]:https://github.com/iccb1013/Sheng.RabbitMQ.CommandExecuter Sheng.RabbitMQ.CommandExecuter 是 ...

  9. PL/SQL + Oracle客户端 配置记录

    oracle一直都没怎么用. oracle pl/sql也是在别人帮助下完成配置. 这次电脑重装后,自己搞定总结了下怎么配置. 1.下载Oracle 客户端. 安装的版本是win64_11gR2_cl ...

  10. myeclipse10.7安装git插件

    如果想把github上的一些开源项目导入到myeclipse中,一种方法是从github网站上将开源项目下载下来,另一种是使用myeclipse的egit插件直接从github网站上down下来,下面 ...