jQuery实现仿京东商城图片放大镜
效果图:
不废话直接上代码:
<!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实现仿京东商城图片放大镜的更多相关文章
- ThinkPHP3.2开发仿京东商城项目实战视频教程
ThinkPHP3.2仿京东商城视频教程实战课程,ThinkPHP3.2开发大型商城项目实战视频 第一天 1.项目说明 2.时间插件.XSS过滤.在线编辑器使用 3.商品的删除 4.商品的修改完成-一 ...
- 完美高仿精仿京东商城手机客户端android版源码
完美高仿精仿京东商城手机客户端android版源码,是从安卓教程网那边转载过来的,这款应用源码非常不错的,也是一个非常优秀的应用源码的,希望能够帮到学习的朋友. _js_op> <igno ...
- 商城项目实战 | 2.2 Android 仿京东商城——自定义 Toolbar (二)
本文为菜鸟窝作者刘婷的连载."商城项目实战"系列来聊聊仿"京东淘宝的购物商城"如何实现. 上一篇文章<商城项目实战 | 2.1 Android 仿京东商城 ...
- 01-02 Flutter仿京东商城项目 功能分析、底部导航Tab切换以及路由配置、架构搭建:(Flutter仿京东商城项目 首页布局以及不同终端屏幕适配方案)
Flutter和Dart交流学习群:交流群:452892873 01Flutter仿京东商城项目 功能分析.底部导航Tab切换以及路由配置.架构搭建 02Flutter仿京东商城项目 首页布局以及不同 ...
- 商城项目实战 | 1.1 Android 仿京东商城底部布局的选择效果 —— Selector 选择器的实现
前言 本文为菜鸟窝作者刘婷的连载."商城项目实战"系列来聊聊仿"京东淘宝的购物商城"如何实现. 京东商城的底部布局的选择效果看上去很复杂,其实很简单,这主要是要 ...
- 商城项目实战 | 2.1 Android 仿京东商城——自定义 Toolbar (一)
前言 本文为菜鸟窝作者刘婷的连载."商城项目实战"系列来聊聊仿"京东淘宝的购物商城"如何实现. 现在很多的 APP 里面都有自己的自定义风格,特别是京东商城中自 ...
- jquery实现仿京东侧边栏
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 18 Flutter仿京东商城项目 商品详情顶部tab切换 顶部下拉菜单 底部浮动导航
ProductContent.dart import 'package:flutter/material.dart'; import '../services/ScreenAdaper.dart'; ...
- 17 Flutter仿京东商城项目 保存历史搜索记录 删除历史记录 清空历史记录 长按删除
Storage.dart import 'package:shared_preferences/shared_preferences.dart'; class Storage{ static Futu ...
随机推荐
- 解决微信小程序安卓手机访问不到图片,无法显示图片
关于微信小程序不显示图片 通病可能有以下几个可能性: 非本地图片:确定图片资源存在,copy 图片url再浏览器打开,确定图片资源存在且能正常访问 本地图片:确定相对路径或者绝对路径正确 微信小程序图 ...
- 利用clear清除浮动的一些问题
下面这段代码是用来清除浮动带来的高度塌陷问题 .clearfix:before { content: "."; display: block; height: 0; clear: ...
- java 用接口实现加减乘除计算器
class Test{ public static void main(String[] args) { fun i=new fun(); jiafa s1=new jiafa(); jianfa s ...
- redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect time out
redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect ti ...
- UNIX故障--sun m4000服务器故障硬盘更换案例
一.故障诊断 查看messages日志c0d0t0这块盘不断报错,类型为:retryable,如下: root@gdhx # more /var/adm/messages Aug 5 16:43:0 ...
- 阿里云 Debian 9.2 安装 Java Web 环境
CentOS 源内包太旧,和本地开发环境不兼容的地方太多 系统配置 更新数据库与软件包 # apt-get update && apt-get -y upgrade 提示是否保留本地已 ...
- mybatis入门(一):jdbc的缺点
mybatis的基础内容 1.mybatis的框架原理 2.mybatis开发dao两种方法: a.原始dao开发方法(程序需要编写dao接口和dao实现类) b.mybatis的mapper接口(相 ...
- 算法-PHP实现八大算法
八大算法原理详解 交换函数:注意要按引用传递,否则无法真正交换两个数的值 function exchange(&$a, &$b){ $temp = $a; $a = $b; $b = ...
- ORB-SLAM跑通笔记本摄像头
环境:Ubuntu 14.04 + ROS indigo + ORB-SLAM2 (Thinkpad T460s) 1. 安装ORB-SLAM: Pangolin Pangolin有一些依赖库,按照提 ...
- javasript 字符串 数组操作
Javascript中经常涉及到对字符串和数组的处理,今天总结一下具体的用法 一 操作字符串 String对象有很多函数,可以以不同的方式访问和操作字符串,具体方法如下: charAt(index ...