效果图:

不废话直接上代码:

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<style type="text/css">
* {
padding: 0;
margin: 0;
}
ul{
position: relative;
width: 500px;
/*height: 500px;*/
margin: 50px;
}
li{
width: 500px;
height: 500px;
/*position: absolute;*/
}
.div {
border: 1px solid;
position: relative;
/*margin: 50px;*/
height: 500px;
width: 500px;
} .div img {
width: 500px;
height: 500px;
} .span {
width: 100px;
height: 100px;
position: absolute;
background: red;
display: none;
cursor: all-scroll;
opacity: 0.1; } .show {
height: 550px;
width: 550px;
position: relative;
left: 502px;
top: -505px;
overflow: hidden;
/*display: none;*/
} .show img {
position: absolute;
width: 1500px;
height: 1500px;
} </style>
</head>
<body> <ul> <li >
<div class="div">
<img src="sjxq01_boom.jpg">
<span class="span"></span>
<div class="show">
<img class="show_img" src="sjxq01_boom.jpg">
</div>
</div>
</li>
<li >
<div class="div" style="display: none">
<img src="sjxq3_boom.jpg">
<span class="span"></span>
<div class="show">
<img class="show_img" src="sjxq3_boom.jpg">
</div>
</div> </li>
</ul> <script type="text/javascript" src="jquery.min.js"></script><script src="demo.js"></script>
</body> </html>

js代码:

  $(document).ready(function () {
(function () {
var mouseX, //鼠标光标X坐标
             mouseY,
             divX, //最外层DIV X坐标
             divY,
             spanX, //放大镜 X坐标
             spanY,
             divW, // 最外层 DIV 宽度
             divH,  
             scrY, //滚动条卷去的高度
div = $(".div");
div.on("mousemove", function (e) {
$(this).find(".span").show();
$(this).find(".show").show();
scrY=document.body.scrollTop||document.documentElement.scrollTop;
divW = div.width();
divH = div.height();
mouseX = e.originalEvent.x || e.originalEvent.layerX || 0;
mouseY = e.originalEvent.y || e.originalEvent.layerY || 0;
divY = $(this).offset().top;
divX = $(this).offset().left;
spanX = mouseX - divX - 50;
spanY = mouseY - divY - 50+scrY;
if ((spanX + 100) > divW) {
spanX = 400;
}
if ((spanY + 100) > divW) {
spanY = 400;
}
if (spanX < 0) {
spanX = 0;
}
if (spanY < 0) {
spanY = 0;
}

if(mouseX > (divW+divX)){
                     $(this).find(".span").hide();
                     $(this).find(".show").hide();
                  }

                 $(this).find(".span").css('left', spanX).css('top', spanY);
$(this).find(".show_img").css("left", -3 * spanX).css('top', -3 * spanY);
});
div.on("mouseout", function () {
$(this).find(".span").hide();
$(this).find(".show").hide();
});
div.on("mouseover", function () {
}); })(); });

jQuery实现仿京东商城图片放大镜的更多相关文章

  1. ThinkPHP3.2开发仿京东商城项目实战视频教程

    ThinkPHP3.2仿京东商城视频教程实战课程,ThinkPHP3.2开发大型商城项目实战视频 第一天 1.项目说明 2.时间插件.XSS过滤.在线编辑器使用 3.商品的删除 4.商品的修改完成-一 ...

  2. 完美高仿精仿京东商城手机客户端android版源码

    完美高仿精仿京东商城手机客户端android版源码,是从安卓教程网那边转载过来的,这款应用源码非常不错的,也是一个非常优秀的应用源码的,希望能够帮到学习的朋友. _js_op> <igno ...

  3. 商城项目实战 | 2.2 Android 仿京东商城——自定义 Toolbar (二)

    本文为菜鸟窝作者刘婷的连载."商城项目实战"系列来聊聊仿"京东淘宝的购物商城"如何实现. 上一篇文章<商城项目实战 | 2.1 Android 仿京东商城 ...

  4. 01-02 Flutter仿京东商城项目 功能分析、底部导航Tab切换以及路由配置、架构搭建:(Flutter仿京东商城项目 首页布局以及不同终端屏幕适配方案)

    Flutter和Dart交流学习群:交流群:452892873 01Flutter仿京东商城项目 功能分析.底部导航Tab切换以及路由配置.架构搭建 02Flutter仿京东商城项目 首页布局以及不同 ...

  5. 商城项目实战 | 1.1 Android 仿京东商城底部布局的选择效果 —— Selector 选择器的实现

    前言 本文为菜鸟窝作者刘婷的连载."商城项目实战"系列来聊聊仿"京东淘宝的购物商城"如何实现. 京东商城的底部布局的选择效果看上去很复杂,其实很简单,这主要是要 ...

  6. 商城项目实战 | 2.1 Android 仿京东商城——自定义 Toolbar (一)

    前言 本文为菜鸟窝作者刘婷的连载."商城项目实战"系列来聊聊仿"京东淘宝的购物商城"如何实现. 现在很多的 APP 里面都有自己的自定义风格,特别是京东商城中自 ...

  7. jquery实现仿京东侧边栏

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  8. 18 Flutter仿京东商城项目 商品详情顶部tab切换 顶部下拉菜单 底部浮动导航

    ProductContent.dart import 'package:flutter/material.dart'; import '../services/ScreenAdaper.dart'; ...

  9. 17 Flutter仿京东商城项目 保存历史搜索记录 删除历史记录 清空历史记录 长按删除

    Storage.dart import 'package:shared_preferences/shared_preferences.dart'; class Storage{ static Futu ...

随机推荐

  1. 840. Magic Squares In Grid (5月27日)

    开头 这是每周比赛中的第一道题,博主试了好几次坑后才勉强做对了,第二道题写的差不多结果去试时结果比赛已经已经结束了(尴尬),所以今天只记录第一道题吧 题目原文 Magic Squares In Gri ...

  2. bootstrap-01-学习记录

    1.bootstrap所有插件依赖JQ,必须在JQ之后引入. 2.bootstrap分预编译版(css,js,fonts)和源码版(less,js,fonts,dist->预编译版内容,docs ...

  3. JavaSE环境下的shiro(源自腾讯课堂)

    Shiro作用: 认证(登录).授权(鉴权).加密(用户名/密码加密).会话管理(session).Web集成.缓存 apache官网可以下载 图一 图二 图三 图一 .二是配置文件内容,对于图三的: ...

  4. ThinkPHP5.0图片上传生成缩略图实例代码

    很多朋友遇到这样一个问题,图片上传生成缩略图,很多人在本机(win)测试成功,上传到linux 服务器后错误. 我也遇到同样的问题.网上一查,有无数的人说是服务器临时文件目录权限问题. 几经思考后,发 ...

  5. MQTT的学习之Mosquitto安装&使用(1)

    Mosquitto是一个实现了MQTT3.1协议的代理服务器,由MQTT协议创始人之一的Andy Stanford-Clark开发,它为我们提供了非常棒的轻量级数据交换的解决方案.本文的主旨在于记录M ...

  6. python网络编程之线程

    一 .背景知识 1.进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令 ...

  7. rails中发送ajax请求

    最近在写一个blog系统练练手,遇到一个一个问题,用户添加评论的时候想发送ajax请求,但是rails里的ajax和Python中的不太一样,Python中的ajax是用js,jquery实现的和ra ...

  8. C# 使用cmd

    public static string cmd(String command) //向cmd()传入命令行,传入"exit"则退出cmd.exe. { Process p = n ...

  9. 每天看一片代码系列(四):layzr.js,处理图片懒加载的库

    所谓图片的懒加载,即只有当图片处于或者接近于当前视窗时才开始加载图片.该库的使用方法非常简单: var layzr = new Layzr({ attr: 'data-layzr', // attr和 ...

  10. 微信小程序学习笔记(1)-微信小程序样式设置逻辑

    1.微信小程序的样式设置统一在每一页的.wxss的样式文件中,所有的样式设置代码统一写入这个文件中: 2.样式主要是通过.wxml里面控件的“class”属性来调用,此处调用会有几个细节要注意: 1) ...