zoom.css
*{ padding: 0; margin: 0; } li{ list-style-type: none; } .zoom{ margin: 50px; position: relative; } .zoomMiddle{ border: 1px solid #ccc; width: 300px; height: 300px; margin-bottom: 3px; position: relative; } .zoomMiddle img{ width: 300px; height: 300px; } .mask{ width: 100px; height: 100px; background: #abcdef; opacity:0.4; position: absolute; left: 0; top: 0; display: none; } .zoomSmall{ -overflow: hidden; width: 302px; height: 54px; } .zoomSmall span{ float: left; height: 52px; line-height: 52px; width: 10px; text-align: center; border: 1px solid #ccc; cursor: pointer; } .zoomSmall span.disable{ cursor: default; background: #ccc; } .wrapSmallImg{ float: left; height: 54px; width: 232px; /*background: #f00;*/ position: relative; overflow: hidden; } .wrapSmallImg ul{ width: 348px; /*background: #f00;*/ position: absolute; left: 0; top: 0; } .wrapSmallImg ul li{ float: left; width: 50px; height: 50px; border: 2px solid #ccc; margin: 0 2px; _display: inline; cursor: pointer; } .wrapSmallImg ul li.current{ border: 2px solid orange; } .wrapSmallImg ul li img{ width: 50px; height: 50px; } .zoomLarge{ width: 350px; height: 350px; border: 1px solid #ccc; position: absolute; top: 0; left: 320px; overflow: hidden; display:none; } .zoomLarge img{ width: 600px; height:600px; position: absolute; left: 0; top: 0; }
zoom.html
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>放大镜</title> <link rel="stylesheet" href="zoom.css"> </head> <body> <input type="text" name="" id=""> <div class="zoom"> <div class="zoomMiddle"> <img src="1.jpg" alt=""> <div class="mask"></div> </div> <div class="zoomSmall"> <span class="left disable"><</span> <div class="wrapSmallImg"> <ul> <li class="current"><img src="1.jpg" alt=""></li> <li><img src="2.jpg" alt=""></li> <li><img src="3.jpg" alt=""></li> <li><img src="4.jpg" alt=""></li> <li><img src="5.jpg" alt=""></li> <li><img src="6.jpg" alt=""></li> </ul> </div> <span class="right">></span> </div> <div class="zoomLarge"><img src="1.jpg" alt=""></div> </div> <script src="jquery.js"></script> <script src="zoom.js"></script> </body> </html>
zoom.js
$(function(){ var smallImgLi = $('.wrapSmallImg ul li'); var smallImgLiLength = smallImgLi.size(); var smallImgLiWidth = smallImgLi.outerWidth(true); var smallImgUl = $('.wrapSmallImg ul'); var leftBtn = $('span.left'); var rightBtn = $('span.right'); var now = 0; var zoomMiddleDiv = $('.zoomMiddle'); smallImgLi.mouseover(function(){ $(this).addClass('current').siblings().removeClass('current'); var thisSrc = $(this).children('img').attr('src'); $('.zoomMiddle img').attr('src',thisSrc); $('.zoomLarge img').attr('src',thisSrc); }); rightBtn.click(function(){ //当now=2的时候,我们不希望再让他滚动了 leftBtn.removeClass('disable'); if(now>=smallImgLiLength-4){ $(this).addClass('disable'); now = smallImgLiLength-4; }else{ now++; smallImgUl.animate({'left':-now*smallImgLiWidth},300); } }); leftBtn.click(function(){ if(now==0){ now=0; }else{ now--; smallImgUl.animate({'left':'+='+smallImgLiWidth},300); } }); zoomMiddleDiv.mousemove(function(e){ $('.mask').show(); $('.zoomLarge').show(); zoomMiddleDivOffset = zoomMiddleDiv.offset(); var x = e.pageX - zoomMiddleDivOffset.left - $('.mask').width()/2; var y = e.pageY - zoomMiddleDivOffset.top - $('.mask').height()/2; if(x<=0){ x=0; }else if(x>=zoomMiddleDiv.width()-$('.mask').width()){ x = zoomMiddleDiv.width()-$('.mask').width(); } if(y<=0){ y=0; }else if(y>=zoomMiddleDiv.height()-$('.mask').height()){ y = zoomMiddleDiv.height()-$('.mask').height(); } var percentageX = x/(zoomMiddleDiv.width()-$('.mask').width()); var percentageY = y/(zoomMiddleDiv.height()-$('.mask').height()); $('.zoomLarge img').css({ left:-percentageX*(600-$('.zoomLarge').width()), top:-percentageY*(600-$('.zoomLarge').height()) }); $('input').val(percentageX+','+percentageY) $('.mask').css({ 'left':x+'px', 'top':y+'px' }); }); zoomMiddleDiv.mouseout(function(){ $('.mask').hide(); $('.zoomLarge').hide(); }); });
效果图:
相关推荐
超好用的jq放大镜插件,比修改前更加方便使用,修复定位bug,不在担心标签嵌套问题。调用代码也是超级简洁~
在网页设计中,jQuery放大镜效果是一种常见的交互功能,它为用户提供了一种便捷的方式来查看产品的细节,特别是对于电商网站上的商品图片。这个效果允许用户在鼠标悬停在小图上时,能看到一个放大的图像视图,从而...
在本文中,我们将深入探讨如何使用jQuery库来创建一个实用的“放大镜”效果,这是一种常见于电商网站上的交互功能,允许用户查看商品图片的细节。这个效果通过模拟一个浮动的放大窗口,使得用户可以对图片的特定区域...
**jQuery放大镜插件**是一种常用的前端交互技术,主要用于电商网站或者其他需要展示商品细节的网页中,用户可以通过鼠标悬停或点击实现对图片的局部放大,以查看更清晰的细节。这种技术极大地提升了用户体验,使得...
在网页设计中,为了提升用户体验,常常会使用到放大镜效果。这主要应用于产品展示,尤其是电商网站的商品图片,让用户可以更清晰地查看商品细节。本文将深入探讨jQuery实现放大镜效果的相关知识点。 首先,jQuery是...
jQuery放大镜插件是一种常用的网页交互效果,常用于电商网站的产品展示,允许用户在鼠标悬停或点击时,查看图片的细节部分,提高用户体验。它通过动态调整图片大小和位置,模拟出放大镜的效果,使得用户能清晰地看到...
这个“购物图片放大镜jq例子.rar”压缩包文件包含了一个使用jQuery实现的购物图片放大镜功能的示例。 jQuery是一个流行的JavaScript库,它简化了DOM操作、事件处理、动画效果和Ajax交互等任务。在这个案例中,...
之前我们分享过几款非常不错的jQuery/CSS3放大镜动画,比如这款jQuery球状放大镜特效...这次我们要分享的也是一款炫酷的jQuery可拖拽放大镜动画,拖拽放大镜在页面上移动,则可以让隐藏在黑夜中的东西显示在放大镜上。
在这个“jq封装放大镜.rar”压缩包中,包含了一个利用jQuery实现的图片放大镜效果。这个功能在电子商务网站上非常常见,允许用户在查看商品时获取更清晰的细节。 首先,我们要理解什么是“封装”。在编程中,封装是...
"简单的jquery放大镜特效"是一个基于jQuery实现的网页元素放大功能,常见于电商网站的产品展示,让用户能更清晰地查看产品细节。这个功能通过鼠标悬停在图片上时,出现一个放大的浮动视窗来实现。 首先,我们要理解...
在网页设计中,为了提升用户体验,特别是在展示商品细节时,"淘宝商品放大镜效果"是一种常见且实用的技术。这个效果允许用户在鼠标悬停在图片上时,能看到一个放大的部分,以便更清晰地查看商品的细节。在这个实例中...
【标题】"jq仿京东商品详细页图片放大镜"是一个基于jQuery实现的网页功能,它旨在为用户提供一种类似于京东商品详情页的图片查看体验。在电商网站中,商品图片的展示至关重要,放大镜效果能让用户更清晰地查看商品...
在网页设计中,仿淘宝京东放大镜是一种常见的交互效果,它允许用户在鼠标悬停在商品图片上时,能看到一个放大的图像视图,从而提供更清晰的产品细节查看体验。这个效果主要涉及到HTML、jQuery和CSS这三个技术领域的...
这个"jq仿京东商品详细页图片放大镜.zip"压缩包文件包含了一个利用jQuery库实现的类似京东商城商品详情页的图片放大镜特效。接下来,我们将深入探讨这个知识点。 首先,jQuery是一个广泛使用的JavaScript库,它简化...
**jQuery 图片放大镜实例详解** 在Web开发中,为用户提供高质量的图片预览体验是提升网站用户体验的重要一环。jQuery图片放大镜插件能够帮助我们实现这一目标,让用户在鼠标悬停或点击图片时看到放大的细节部分,...
在移动设备上,为了提供更好的用户体验,经常需要实现一种被称为“放大镜效果”的功能,特别是在电商网站中,用户可以通过此效果查看商品细节。本篇主要介绍如何使用jQuery库来实现手机屏幕上的放大镜效果。 首先,...
这个项目“jquery实现的图片滑动并带有放大镜效果代码”显然是利用 jQuery 实现了一个功能丰富的图片展示功能,包括图片轮播和放大镜效果。下面我们将详细探讨这些知识点。 首先,图片轮播(Slider)是一种常见的...