zoukankan      html  css  js  c++  java
  • 淘宝放大镜

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            *{margin: 0;padding:0;}
            .lf{width: 300px;height: 300px;border: 1px solid gray;position: relative;}
            .lf>img{width: 100%;height: 100%;position: absolute;}
            .hover{width: 150px;height:150px;background: yellow;opacity: .5;position: absolute;display: none;}
            .rg{width: 400px;height: 400px;position: relative;top: -300px;left: 500px;border: 1px solid gray;overflow: hidden;}
        </style>
        <script src="js/jquery-1.7.1.min.js"></script>
        <script type="text/javascript" src="js/jquery.easing.min.js"></script>
    </head>
    <body>
        <div class="lf">
            <img src="images/max.jpg">
            <div class="hover"></div>
        </div>
        <div class="rg">
            <img src="images/max.jpg">
        </div>
        <script type="text/javascript">
            $(function(){
                //鼠标移动上去后hover显示
                $(".lf").on("mouseover",function(){
                    $(".hover").show();
                    $(".lf").on("mousemove",function(e){
                        var x=e.clientX-$(".lf").offset().left;
                        var y =e.clientY-$(".lf").offset().top;
                        //判断是否可以移动出去
                        if(x<=$(".hover").width()/2){
                            x=$(".hover").width()/2
                        }else if(x>=$(".lf").width()-$(".hover").width()/2){
                            x=$(".lf").width()-$(".hover").width()/2
                        }
                        if(y<=$(".hover").height()/2){
                            y=$(".hover").height()/2
                        }else if(y>=$(".lf").height()-$(".hover").height()/2){
                            y=$(".lf").height()-$(".hover").height()/2
                        }
                        $(".hover").css({
                            left:x-$(".hover").width()/2,
                            top:y-$(".hover").height()/2,
                        })
                        //hover距离容器的水平距离:此容器的宽度=rg里图片左上角开始的距离:图片的宽度
                        //注意:hover的大小:lf盒子的大小要和rg盒子的大小:图片真实的大小的比值是一样的,否则查看大图的时候会有误差
                        var lf=$(".rg>img").width()*(x-$(".hover").width()/2)/$(".lf").width();
                        var rg=$(".rg>img").height()*(y-$(".hover").height()/2)/$(".lf").height();
                        $(".rg").scrollLeft(lf);
                        $(".rg").scrollTop(rg);
                    })
                })
                $(".lf").on("mouseout",function(){
                    $(".hover").hide();
                })
            })
        </script>
    </body>
    </html>

    注意:图片我用的是800*800的图片,所以盒子和图片的比例一定要注意!

  • 相关阅读:
    变量的作用域
    内联函数inline
    数组、函数和指针
    关于android:configChanges的属性的简介
    Android 更新UI的两种方法
    android开发两种退出程序方式
    google内购In-App Billing
    谷歌登陆sdk对接
    openssl测试版本小工具
    关于facebook登陆不安装openssl的情况下怎么获得Facebook Key Hash的简单方法
  • 原文地址:https://www.cnblogs.com/ldlx-mars/p/6930553.html
Copyright © 2011-2022 走看看