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 ...
随机推荐
- kali linux 安装TIM or QQ(CrossOver 安装 QQ)
需要文件 http://www.crossoverchina.com/xiazai.html dpkg --add-architecture i386 apt-get update apt-get i ...
- hdu_4135_Co-prime
Given a number N, you are asked to count the number of integers between A and B inclusive which are ...
- Centos6_32位系统512M内存_如何安装gogs_Mysql_配置开机自启动
因为有很多人的Linux版本比较低,内存配置也较低,X86 ,32位系统的:所以这里推荐采用二进制安装gogs,并且使用Mysql:这个是傻瓜式的安装方案,适合绝大多数人(提及了centos7的安装思 ...
- linux系统常用命令统计及shell特殊字符
shell 特殊字符:1.通配符2.管道 1.通配符 1.1星号(*):匹配任意长度 1.2问号(?):匹配一个长度的字符 1.3方括号([......]):匹配其中指定的字符 1.4方括号([-]) ...
- ORA-00911: 无效字符 问题和解决
1.原本java插入数据库表数据写法是这样的 String sql = "INSERT INTO AAA (id1,id2,id3,id4) VALUES ('1','2','3','4') ...
- JDBC中执行sql语句的 增 , 删 , 改 , 查 的方法
executeQuery() : 执行 SELECT 语句,它几乎是使用最多的 SQL 语句 executeUpdate() : 执行 INSERT.UPDATE 或 DELETE 语句以及 S ...
- centos7环境下ELK部署之elasticsearch
es部署:es只能用普通用户启动 博客园首发,转载请注明出处:https://www.cnblogs.com/tzxxh/p/9435318.html 一.环境准备: 安装jdk1.8.创建普通用户 ...
- 一、linux基本操作
1.linux界面的切换 DOS界面终端打开:Ctrl+Alt+F1 /F2/F3 退出:Ctrl+Alt+F7 终端的打开与退出 打开:Ctrl+Alt+t 退出:Ctrl+d 2.第一次 ...
- 退出循环break,continue,return,goto分析
/* 在循环中间设置单个或者多个退出点,可以使用的语句有:break语句.continue语句.goto语句. return */ (1)break :break语句语句用于循环或 switch 语句 ...
- Django时间时区问题
在django1.4以后,存在两个概念 naive time 与 active time. 简单点讲,naive time就是不带时区的时间,Active time就是带时区的时间. 举例来说,使用d ...