zoukankan      html  css  js  c++  java
  • jquery 产品查看放大镜组件

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>图片放大镜</title>
    </head>
    <style>
    *{ padding:0; margin:0}
    .fdj{}
    .fdj .small-wrap{ overflow:hidden; float:left}
    .fdj .small-main{ width:266px; height:231px; position:relative}
    .fdj .small-main img{ width:100%; height:100%}
    .fdj .small-main .mask{ display:none; cursor:crosshair; position:absolute; left:0; top:0;width:100px; height:80px; background:rgba(0,0,0,.3)}
    .fdj .bot-main{ width:266px; height:70px; overflow:hidden; position:relative;background-color: #F1F0F0; margin-top:2px;}
    .fdj .bot-main .btn{ z-index:99; cursor:pointer; position:absolute; top:0; width:14px; height:70px; background-color:#ccc; color:#fff; line-height:70px; text-align:center}
    .fdj .bot-main .prev{ left:0;}
    .fdj .bot-main .next{ right:0;}
    .fdj .bot-main .pic-list{ width:238px; height:70px; position:absolute; left:14px;}
    .fdj .bot-main .list{ width:3000px; position:absolute; left:0; top:0;}
    .fdj .bot-main .list li{ float:left; list-style:none}
    .fdj .bot-main .list img{ width:70px; height:46px; margin:12px 0 0 4px;border:2px solid #F1F0F0}
    .fdj .bot-main .list .active img{border:2px solid #959595}
    .fdj .big-wrap{width:266px; height:231px; border:1px solid #ccc; float:left; overflow:hidden; display:none; position:relative}
    .fdj .big-wrap img{ position:absolute; left:0; top:0; min-width:600px; min-height:700px;}
    </style>
    <body>
    
    <div class="fdj imageZoom">
        <div class="small-wrap">
            <div class="small-main">
                <img src="http://0.thumb.pc6.com/thumb/up/2016-1/2016126154311097190_225_260.jpg">
                <div class="mask"></div>
            </div>
            <div class="bot-main">
                <span class="btn prev"></span>
                <div class="pic-list">
                    <ul class="list">
                        <li class="active"><img src="http://0.thumb.pc6.com/thumb/up/2016-1/2016126154311097190_225_260.jpg"></li>
                        <li><img src="http://www.guanfang123.com/Uploads/Picture/20150925/5604e6e0ced0c.jpg"></li>
                        <li><img src="http://www.guanfang123.com/Uploads/Picture/20150925/5604e6888e257.jpg"></li>
                        <li><img src="http://www.guanfang123.com/Uploads/Picture/20150925/5604e5bedce24.jpg"></li>
                        <li><img src="http://www.guanfang123.com/Uploads/Picture/20150925/5604e481ac8e8.png"></li>
                        <li><img src="http://www.guanfang123.com/Uploads/Picture/20150925/5604e2c9725f8.jpg"></li>
                        <li><img src="http://www.guanfang123.com/Uploads/Picture/20150923/56023b44d65e2.jpg"></li>
                    </ul>
                </div>
                <span class="btn next"></span>
            </div>
        </div>
        <div class="big-wrap"><img src="http://0.thumb.pc6.com/thumb/up/2016-1/2016126154311097190_225_260.jpg"></div>
    </div>
    <script src="soft/js/global.js"></script>
    <script>
    ;(function(){
        $.fn.imageZoom = function(options){
            var defaults = {};
            var sets = $.extend(defaults , options);
            
            this.each(function(){
                var _this=$(this);
                var small_wrap=_this.find(".small-main");//小图
                var big_wrap=_this.find(".big-wrap");//大图
                var mask=_this.find(".mask");//遮罩
                var oul=_this.find('ul');
                var oli=oul.find('li');
                var i=0,small_w,small_h,big_w,big_h,blc_w,blc_h;
                oul.width(oli.outerWidth(true)*oli.length);
                
                //切换缩略图
                _this.find('.next').click(function(){
                    i>=oli.length-3?i=0:i++;
                    oul.animate({'left':-i*oli.outerWidth(true)});
                });
                _this.find('.prev').click(function(){
                    i<=0?i=oli.length-3:i--;
                    oul.animate({'left':-i*oli.outerWidth(true)});
                });
                
                oli.hover(function(){
                    var _src=$(this).find("img").attr('src');
                    $(this).addClass("active").siblings().removeClass("active");
                    small_wrap.find("img").attr("src",_src);
                    big_wrap.find("img").attr("src",_src);
                });
                
                //小图移动
                small_wrap.mousemove(function(e){
                    small_w=small_wrap.width()-mask.width();
                    small_h=small_wrap.height()-mask.height();
                    big_w=big_wrap.find("img").width()-big_wrap.width();
                    big_h=big_wrap.find("img").height()-big_wrap.height();
                    blc_w=small_w/big_w;
                    blc_h=small_h/big_h;
                
                    mask.show();
                    big_wrap.show();
                    var maskLeft = mask.position().left;
                    var maskTop = mask.position().top;
                    var X=e.pageX-mask.width()/2;
                    var Y=e.pageY-mask.height()/2;
                    if(X<=0){X=0};
                    if(Y<=0){Y=0};
                    if(X>=$(this).width()-mask.width()){
                        X=$(this).width()-mask.width()
                    };
                    if(Y>=$(this).height()-mask.height()){
                        Y=$(this).height()-mask.height()
                    };
                    mask.css({'left':X,'top':Y});
                    big_wrap.find("img").css({'left':-X/blc_w,'top':-Y/blc_h});
                }).mouseout(function(){
                   mask.hide();
                   big_wrap.hide();
                });    
            });
        };
    })(jQuery)
    
    $(function(){
        $('.imageZoom').imageZoom();
    
    })
    </script>
    </body>
    </html>

     实例截图:

  • 相关阅读:
    【404】int main(int argc,char * argv[]) windows 下的使用
    【403】COMP9024 Exercise
    【402】Twitter Data Collection
    【401】Python 求合数的所有质数因子
    【400】numpy.pad 为数组加垫(迷宫类题目)
    iOS开发之指纹解锁
    iOS-响应链(Responder Chain)
    iOS上手指点击波纹效果的实现
    使用methodSignatureForSelector与forwardInvocation实现消息转发 (转)
    Objective-C中的@dynamic(转)
  • 原文地址:https://www.cnblogs.com/cainiaoz/p/5708038.html
Copyright © 2011-2022 走看看