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 购物图片放大镜jq例子.rar 购物图片放大镜jq例子.rar 购物图片放大镜jq例子.rar 购物图片放大镜jq例子.rar 购物图片放大镜jq例子.rar jq
之前我们分享过几款非常不错的jQuery/CSS3放大镜动画,比如这款jQuery球状放大镜特效...这次我们要分享的也是一款炫酷的jQuery可拖拽放大镜动画,拖拽放大镜在页面上移动,则可以让隐藏在黑夜中的东西显示在放大镜上。
简单的jquery放大镜特效
购物商城放大镜 jQuery 做的简单实例,通俗易懂,jQuery 商城放大镜 类似淘宝商品放大镜
jq仿京东商品详细页图片放大镜
代码简介:jq仿京东商品详细页图片放大镜是一款基于jquery实现的jqzoom仿京东商城商品详细页面图片放大镜特效。
仿淘宝京东放大镜 jq路径需要改变
jquery封装类购物车中图片放大特效,方法灵活,工场模式,适合新手借鉴参考,对于新手有很好的学习价值。
jquery实现的图片滑动并带有放大镜效果代码
主要整合了 jQeury的图片放大镜插件实现
ClassyLoupe是一款简单实用的jQuery图片放大镜插件。该放大镜插件只需一行HTML代码。它可以控制图片的放大倍数,可以制作圆形,方形和圆角矩形的放大镜,并带有非常好看的遮罩层效果。
jquery手机屏幕放大镜效果