jq仿淘宝放大镜插件
html部分
//小图
<div id="photoBox">
<img src="图片路径" width="400" height="400">
<div id="dow"></div>
</div>
//大图
<div id="bigPhotoBox"></div>
css部分
#photoBox {
    border: 1px solid #ccc;
    //小图位置,这里改
    position: absolute;  
}
#photoBox img {
    display: block;
}
#dow {
    width: 100px;
    height: 100px;
    background-color: rgba(0, 0, 0, 0.6);
    position: absolute;
    display: none;
}
#bigPhotoBox {
    display: none;
    border: 1px solid #ccc;
    background-repeat: no-repeat;
    background-color: #fff;
    width: 400px;
    height: 400px;
  //大图位置,这里改
  position: absolute;
  top:; 
  left: 400px;
}
js部分
//小图id
$("#photoBox").Magnifier({
//大图id
renderTo: "#bigPhotoBox",
});
jq插件部分
(function($) {
    $.fn.Magnifier = function(setting) {
        if(setting && setting.renderTo) {
            if(typeof(setting.renderTo) == "string") {
                setting.renderTo = $(setting.renderTo);
            }
        } else {
            return;
        }
        var x, y, set;
        this.on("mousemove", function(event) {
            x = event.pageX - 50;
            y = event.pageY - 50;
            //阴影框实际移动范围
            if(x > 0 && x < 300 && y > 0 && y < 300) {
                set = x / 3 + "% " + y / 3 + "%";
                setting.renderTo.css({
                    backgroundPosition: set
                });
                $("#dow").css({
                    top: y,
                    left: x,
                })
            }
            if(y <= 300 && y >= 0) {
                if(x < 0) {
                    set = 0 + "% " + y / 3 + "%";
                    setting.renderTo.css({
                        backgroundPosition: set
                    });
                    $("#dow").css({
                        top: y,
                        left: 0,
                    })
                }
                if(x > 300) {
                    set = 100 + "% " + y / 3 + "%";
                    setting.renderTo.css({
                        backgroundPosition: set
                    });
                    $("#dow").css({
                        top: y,
                        left: 300,
                    })
                }
            }
            if(x <= 300 && x >= 0) {
                if(y < 0) {
                    set = x / 3 + "% " + 0 + "%";
                    setting.renderTo.css({
                        backgroundPosition: set
                    });
                    $("#dow").css({
                        top: 0,
                        left: x,
                    })
                }
                if(y > 300) {
                    set = x / 3 + "% " + 100 + "%";
                    setting.renderTo.css({
                        backgroundPosition: set
                    });
                    $("#dow").css({
                        top: 300,
                        left: x,
                    })
                }
            }
        });
        //鼠标移入移出效果
        this.hover(function() {
            setting.renderTo.css({
                display: "block",
                backgroundImage: "url(" + $("#photoBox img").attr("src") + ")"
            });
            $("#dow").css({
                display: "block"
            })
        }, function() {
            setting.renderTo.css({
                display: "none"
            });
            $("#dow").css({
                display: "none"
            })
        });
    }
})(jQuery);
一时兴起写了这个插件,用的时候倒是简单,只需引入JQ插件再加上写少量JS代码代码就行了,大小图片的位置可以在CSS里改,唯一麻烦的是,图片宽高的更改问题,图片的宽高是400px的固定值,如果图片不是正方形,图片会失真;且CSS里面是这么写的,JQ里也是,由于这个数值涉及到阴影框的移动范围,改起来比较麻烦。所以就先这样吧,等以后有时间再优化优化。
jq仿淘宝放大镜插件的更多相关文章
- JavaScript仿淘宝实现放大镜效果的实例
		
我们都知道放大镜效果一般都是用于一些商城中的,列如每当我们打开淘宝,天猫等pc端时,看到心仪的物品时,点击图片时,便呈现出放大镜的效果.在没有去理解分析它的原理时,感觉非常的神奇,当真正地去接触,也是 ...
 - 基于Bootstrap仿淘宝分页控件实现
		
.header { cursor: pointer } p { margin: 3px 6px } th { background: lightblue; width: 20% } table { t ...
 - 仿淘宝头像上传功能(三)——兼容 IE6 浏览器。
		
前两篇目录: 仿淘宝头像上传功能(一)——前端篇. 仿淘宝头像上传功能(二)——程序篇. 仿淘宝头像上传功能(三)——兼容 IE6 浏览器 之前的这两篇虽然实现了功能,但不兼容低版本浏览器,而且有些浏 ...
 - Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片
		
Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片 自定义ADPager 自定义水平滚动的ScrollView效仿ViewPager 当遇到要在Vie ...
 - jquery仿淘宝规格颜色选择效果
		
jquery实现的仿淘宝规格颜色选择效果源代码如下 jquery仿淘宝规格颜色选择效果 -收缩HTML代码 运行代码 [如果运行无效果,请自行将源代码保存为html文件运行] <script t ...
 - 高仿淘宝和聚美优品商城详情页实现《IT蓝豹》
		
高仿淘宝和聚美优品商城详情页实现 android-vertical-slide-view高仿淘宝和聚美优品商城详情页实现,在商品详情页,向上拖动时,可以加载下一页. 使用ViewDragHelper, ...
 - android版高仿淘宝客户端源码V2.3
		
android版高仿淘宝客户端源码V2.3,这个版本我已经更新到2.3了,源码也上传到源码天堂那里了,大家可以看一下吧,该应用实现了我们常用的购物功能了,也就是在手机上进行网购的流程的,如查看产品(浏 ...
 - 一款基于jQuery仿淘宝红色分类导航
		
今天给大家分享一款基于jQuery仿淘宝红色分类导航.这款分类导航适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览 ...
 - JS仿淘宝详情页菜单条智能定位效果
		
类似于淘宝详情页菜单条智能定位 对于每个人来说并不陌生!如下截图所示:红色框的那部分! 基本原理: 是用JS侦听滚动事件,当页面的滚动距离(页面滚动的高度)大于或者等于 "对象"( ...
 
随机推荐
- Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解
			
Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解 在swing中,基于业务的考量,会有对话框来限制用户的行为及对用户的动作进行提示. Swing中 ...
 - [转载] Java CheckBoxTree
			
代码基本上是copy的.只是在使用上有一些自己的想法. 先上code吧! 虽然别的地方也有.但是还是转一份给自己. 出处:http://blog.csdn.net/joy_125/article/de ...
 - 接触PHP快4个月
			
就要下班了,接触php快4个月,掌握的不好,需要实战,看到自己博客空空的,就mark一下吧!下班了...
 - Android笔记:动画
			
android:fromDegrees 起始的角度度数 android:toDegrees 结束的角度度数,负数表示逆时针,正数表示顺时针.如10圈则比android:fromDegrees大3600 ...
 - python-opencv笔记 图像的读取和简单几何图形绘制
 - 前端试题本(HTML+CSS篇)
			
CS1. 下面关于IE.FF下面CSS的解释区别描述正确的有?(不定项)CS2请选出结构正确的选项CS3.下面哪些是HTML5 新增的表单元素?CS4在使用table表现数据时,有时候表现出来的会比自 ...
 - POJ 2718 Smallest Difference【DFS】
			
题意: 就是说给你一些数,然后要求你使用这些数字组成2个数,然后求他们的差值最小. 思路: 我用的双重DFS做的,速度还比较快,其中有一个很重要的剪枝,若当前搜索的第二个数后面全部补零与第一个数所产生 ...
 - PL/SQL客户端中执行insert语句,插入中文乱码
			
问题描述:在PL/SQL客户端中执行insert语句,插入中文乱码 解决方案: 1.执行脚本 select userenv('language') from dual; 结果为AMERICAN_ ...
 - CSS3 波浪简单模拟--我是波浪,我有起伏,有大波与小波(坏笑中...)
			
我是波浪,我有起伏,我有大波与小波(坏笑中...) 最近改版网站,一般也不会去写动画,但是有些网站还是需要的,故拿出一个较简单的动画出来分享,很简单很简单. 原理简单阐述 其实很简单,使用一张美工做好 ...
 - MIT 6.828 JOS学习笔记17. Lab 3.1 Part A User Environments
			
Introduction 在这个实验中,我们将实现操作系统的一些基本功能,来实现用户环境下的进程的正常运行.你将会加强JOS内核的功能,为它增添一些重要的数据结构,用来记录用户进程环境的一些信息:创建 ...