jQery放大镜效果

简单2:1的放大

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>放大镜效果</title>
        <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        img{
            display: block;
        }
            #pic{
                width: 200px;
                height: 160px;
                border: 3px solid #ccc;
                position: relative;
                float: left;
            }
            #pic img{
                width: 200px;
                height: 160px;
            }
            .mirror{
                width: 100px;
                height: 80px;
                background: gold;
                opacity: .5;
                position: absolute;
                left: 0;
                top: 0;
                display: none;
            }
            #bigbox{
                width: 200px;
                height: 160px;
                float: left;
                border: 3px solid #ccc;
                overflow: hidden;
                position: relative;
            }
            #bigbox img{
                position: absolute;
            }
        </style>
        <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
        <script type="text/javascript">
            $(function(){
                    $(‘#pic‘).on({
                        mousemove:function(e){
                            $(‘.mirror‘).css(‘display‘,‘block‘)
                            //获取当前鼠标按下的位置相对于box的偏移值
                            var _left = e.clientX - $(‘#pic‘).offset().left - $(‘.mirror‘).width()/2;
                            var _top = e.clientY - $(‘#pic‘).offset().top - $(‘.mirror‘).height()/2;
                            //判断不能超出边界
                            if(_left<0){
                                _left = 0
                            }
                            if(_left>=$(‘#pic‘).width() - $(‘.mirror‘).width()){
                                _left=$(‘#pic‘).width() - $(‘.mirror‘).width()
                            }
                            if(_top<0){
                                _top = 0
                            }
                            if(_top>=$(‘#pic‘).height() - $(‘.mirror‘).height()){
                                _top = $(‘#pic‘).height() - $(‘.mirror‘).height()
                            }
                            //在box中移动鼠标,改变放大镜的位置
                            ($(‘.mirror‘)).css({‘left‘:_left,‘top‘:_top})
                            //根据放大镜的位置,算出右侧大图应该显示的部分
                            $(‘#img1‘).css({‘left‘:-$(‘.mirror‘).position().left * 2,‘top‘:-$(‘.mirror‘).position().top * 2})
                        },
                        //鼠标移出后,放大镜隐藏
                        mouseleave:function(){
                            $(‘.mirror‘).css(‘display‘,‘none‘)

                        }
                    })
            })
        </script>
    </head>
    <body>
        <div id="box">
            <div id="pic">
                <img src="img/6.jpg"/>
                <p class="mirror"></p>
            </div>
            <div id="bigbox">
                <img id="img1" src="img/6.jpg"/>
            </div>
        </div>
    </body>
</html>
时间: 2025-01-17 22:42:43

jQery放大镜效果的相关文章

jq放大镜效果

之前有在网上见过原生js实现放大镜的效果,但是代码量略多,今天和大家分享下我自己用jq实现的放大镜效果吧! 首先html布局结构和样式 贴上代码给大伙看一下: html结构: <div class="pic"> <img src="images/xiaotu.jpg" > <div class="big-pic"></div> </div> css样式: .pic{position:re

关于jQuery中实现放大镜效果

1.1.1 摘要 相信大家都见过或使用过放大镜效果,甚至实现过该效果,它一般应用于放大查看商品图片,一些电商网站(例如:凡客,京东商城,阿里巴巴等)都有类似的图片查看效果. 在接下来的博文中,我们将向大家介绍通过jQuery实现放大镜效果. 目录 实现原理 mousemove事件 相对坐标 background-position属性 mousewheel事件 1.1.2 正文 实现原理 首先,我们讲解一下放大镜效果的实现方式: 方法一:准备一张高像素的大图,当鼠标放到原图上,加载显示大图的对应位

原生js实现放大镜效果

放大镜效果主要涉及3个鼠标事件: 1.onmouseover,鼠标移入浮动小方块和显示放大的区域显示: 2.onmousemove,鼠标移动,小方块和放大区域一起移动: 3.onmouseout,鼠标移除小方块和放大区域消失. 其实放大镜效果最主要的是小方块与放大区域的比例及位置: <div id="small_box"> <div class="small_Pic"> <div id="float_box">

放大镜效果

放大镜效果的html 部分: <div id="div1"> <img src="img/m1.jpg" /> <span id="mask"></span></div><div id="div2"> <img src="img/b1.jpg" /></div> 两张一样的图片,一张大图,一张小图,两张图片的比例

前端JS电商放大镜效果

前端JS电商放大镜效果: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>26-电商放大镜</title> <style type="text/css"> *{ padding: 0; margin: 0; } #left{ padding: 0; margin: 0; w

【HTML5】Canvas 实现放大镜效果

目录 图片放大镜 效果 原理 初始化 画背景图片 计算图片被放大的区域的范围 绘制放大镜区域 添加鼠标事件 图表放大镜 原理 绘制原始线段 计算原始区域和放大镜区域 计算线段在新坐标系统的位置 绘制放大镜中心点 绘制放大镜 添加事件 图片放大镜 效果 在线演示    源码 原理 首先选择图片的一块区域,然后将这块区域放大,然后再绘制到原先的图片上,保证两块区域的中心点一致, 如下图所示: 初始化 <canvas id="canvas" width="500"

淘宝-京东放大镜效果

效果 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>放大镜效果</title> 6 <style type="text/css"> 7 #div1 { 8 width: 180px; 9 height: 180px; 10 position: relative; 11 } 12 #div1

淘宝放大镜效果

淘宝放大镜效果,其实就是一张小图片,还有一张大图片.鼠标移动,按比例显示大图的一部分,在大图的父元素上设置overflow:hidden,就OK了.这里面需要注意换算好大小图的比例. 代码地址:https://github.com/peng666/blogs/tree/gh-pages/floats 在线测试地址:http://peng666.github.io/blogs/floats/

原生js实现的放大镜效果

这是我用原生js写的放大镜效果,与各种各样的框架技术相比,我喜欢使用原生的js,在这里,想和大家一起谈谈原生和框架技术的理解与个人喜好. <!DOCTYPE HTML><html> <head> <title>js放大镜效果</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <style&