位置:首页 > 网络编程 > jQuery
jQuery 浅析图片放大镜的实现方法
日期:2023-01-07 人气:

大家好,对jQuery 浅析图片放大镜的实现方法感兴趣的小伙伴,下面一起跟随三零脚本的小编来看看jQuery 浅析图片放大镜的实现方法的例子吧。

实现原理:准备2张图片,原大图及缩略图。

当页面载人的时候正常显示缩略图,然后当鼠标经过缩略图的时候AJAX加载原大图。

使用jQuery的e.pageX方法提取鼠标经过图片时的坐标,再将遮罩的绝对定位时的坐标值赋值,同时改变大图的坐标值,达到显示位置的准确性。

当鼠标离开小图区域的时候隐藏遮罩。
css:


/*
 * @param 
 * @arrange (三零脚本) www.q3060.com
 **/
<style type="text/css">
.content { margin: auto; width: 800px; border:solid 1px #EAEAEA; position: relative; height: 530px; }
h1 { width:800px; margin: auto; text-align:center; padding:20px; font-family: "微软雅黑"; color: #999; }
h3 { width:800px; margin: auto; text-align:center; padding:20px; font-family: "微软雅黑"; color: #999; }
p { width:800px; margin: 30px auto auto; text-align:left; color: #999; font: 12px/24px "微软雅黑"; border: 1px dashed #E6E6E6; padding: 8px; }
.lxf-large { position: absolute; left: 0px; top: 0px; height: 200px; width: 200px; }
.lxf-mover { -moz-border-radius:100px;border: 3px solid #FFFFFF; overflow: hidden; height: 200px; width: 200px; position: absolute; left: -100px; top: -100px; display: none; -webkit-box-shadow: #ccc 2px 4px 5px; -moz-box-shadow: #ccc 2px 4px 5px; }
.lxf-min { height: 530px; width: 800px; }
</style>
js:

/*
 * @param 
 * @arrange (三零脚本) www.q3060.com
 **/
<script src="http://q3060.com/demo/js/jquery-1.6.4.min.js" type="text/javascript"></script>
<script>
$(function(){
    var m = $(".lxf-min"), l = $(".lxf-large"), v = $(".lxf-mover"), c = $(".content"), size = 2.74;
    m.hover(
    function(){
        l.load("http://www.q3060.com/demo/magnifier/mbp.<a href="http://q3060.com/" title="html">html</a>");
        v.fadeIn();
        }
    );
    c.mousemove(function(e){
        var x = e.pageX - c.offset().left;
        var y = e.pageY - c.offset().top;
        v.<a href="http://q3060.com/" title="css">css</a>({
          top: y - 110,
          left: x - 110}
             );
        l.<a href="http://q3060.com/" title="css">css</a>({
          left: -(e.pageX - c.offset().left)*size,
          top: -(e.pageY - c.offset().top)*size
              });
        if ((x < -size) || (x > c.width() + size) || (y < -size) || (y > c.height() + size) ){v.fadeOut('slow');};
               });
});
</script>
html:

<div class="content">
  <div class="lxf-min"><img src="/mbp-min.jpg" width="800" height="530"> </div>
  <div class="lxf-mover">
    <div class="lxf-large"></div>
  </div>
</div>

您可能感兴趣的文章