用JavaScript中jQuery编写放大镜效果
<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
#big {
width: 400px;
height: 400px;
border: 1px solid black;
overflow: hidden;
display: none;
position: absolute;
background-color: white;
background-image: url('./image/1.bmp');
opacity: 0.8;
} #small {
width: 350px;
height: 350px;
border: 1px solid black;
background-image: url('./image/11.bmp');
} #img {
width: 800px;
height: 800px;
} #div {
width: 175px;
height: 175px;
background-color: blue;
opacity: 0.5;
position: absolute;
display: none;
}
</style>
</head> <body> <div id="small">
<div id="div"></div>
<!-- <img src="./image/11.bmp" /> -->
</div>
<div id="img">
<div id="big">
<!-- <img src="./image/1.bmp" /> -->
</div>
</div>
<script src="./jquery-1.12.4.min.js"></script>
<script>
//当鼠标在图片上移动时的操作
$(window).on('load', function () {
$("#small").on('mouseenter', function () {
let position = $(this).position();//获取small偏移
$("#big").css({//大的图片距离小的图片的距离
top: position.top,
left: position.left + $(this).width() + 80
}).show();
}) $("#small").on('mousemove', function (e) {//鼠标在图片上移动
let left1 =e.pageX-$(this).offset().left;
let top1=e.pageY-$(this).offset().top;
left1=left1-80<0?90:left1;
top1=top1-80<0?90:top1;
left1=left1-80>175?263:left1;
top1=top1-80>175?263:top1;
$('#div').css({//小方块显示
display: "block",
left:left1-80,
top:top1 -80
}) let position = $(this).position();
//第一种
//计算鼠标在图片上面的偏移坐标
// let X = e.pageX - position.left;
// let Y = e.pageY - position.top;
// //定位放大镜的距离
// $("#big").scrollTop(Y-100).scrollLeft(X-100); // //第二种
let x =$("#div").position().left/350*800;
let y =$("#div").position().top/350*800;
$("#big").css({
backgroundPosition:`-${x}px -${y}px`
}) });
$("#small").on('mouseleave', function () {//鼠标移出时
$("#big").css({
display: "none"
})
$('#div').css({//小方块显示
display: "none", })
}) // console.log($.unique($.merge([1,2],[2,3,4])))
})
</script>
</body> </html>
用JavaScript中jQuery编写放大镜效果的更多相关文章
- 使用jquery实现放大镜效果
原文:使用jquery实现放大镜效果 实现原理 首先,我们讲解一下放大镜效果的实现方式: 方法一:准备一张高像素的大图,当鼠标放到原图上,加载显示大图的对应位置. 方法二:对原图片进行放大,也就是调整 ...
- jQuery实现放大镜效果
1.1.1 摘要 相信大家都见过或使用过放大镜效果,甚至实现过该效果,它一般应用于放大查看商品图片,一些电商网站(例如:凡客,京东商城,阿里巴巴等)都有类似的图片查看效果. 在接下来的博文中,我们将向 ...
- js、jquery实现放大镜效果
在一些电商网站的商品详情页面,都会有放大镜效果,实现起来并不是很困难,今天用了两个小时,写了一个放大镜效果的实例,来分享给大家! 实现的效果大概是这个样子的 预览 先来看一下效果吧,点击下面的链接预览 ...
- 【Demo】jQuery 图片放大镜效果——模仿淘宝图片放大效果
实现功能: 模仿淘宝图片放大效果,鼠标移动到小图片的某一处,放大镜对应显示大图片的相应位置. 实现效果: 实现代码: <!DOCTYPE html> <html> <he ...
- js---电商中常见的放大镜效果
js中的放大镜效果 在电商中,放大镜效果是很常见的,如下图所示: 当鼠标悬浮时,遮罩所在区域在右侧进行放大. 在动手写之前,我们要先理清思路,分析需求,所需知识点,再将每一块进行组装,最后进行功能的完 ...
- JavaScript实现的网页放大镜效果
今天在观看视频学习的时候,学到了一个小技巧.就拿过来与大家进行分享一下啦. 实现的原理 分析需求:需要两张图,一大一小.然后根据鼠标的动作显示出不同的区域块的图像. 核心:鼠标事件的获取和处理.图片显 ...
- javascript中的省市级联效果
学习javascript的时候都遇到过这样的需求,不仅是省市,还有其他的一些场景,看看关键的代码有哪些吧. <head runat="server"> <titl ...
- Jquery版放大镜效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 用jquery实现放大镜效果
----css代码--- *{margin:0;padding:0;} .showimg{position:relative;width:450px;height:420px;border:1px s ...
随机推荐
- border实现三角形的原理
前言:网上最普遍的实现三角形的方法,就是通过控制border来实现,那为什么可以呢? 原理 我们先来看看border的表现形式. #box{ width:100px; height:100px; ba ...
- mysql备份整个数据库的表结构和数据
- Java 社区论坛 - Sym 1.5.0 发布
简介 Sym 是一个用 Java 写的实时论坛,欢迎来 体验!(如果你需要搭建一个企业内网论坛,请使用 SymX) 非常详细的 Sym 功能点脑图 如果你在搭建或者二次开发时碰到问题,欢迎加 Q 群 ...
- 【element+vue后台页面】Vue-element-admin
https://segmentfault.com/a/1190000009275424
- LeetCode赛题395----Longest Substring with At Least K Repeating Characters
395. Longest Substring with At least K Repeating Characters Find the length of the longest substring ...
- Node服务端极速搭建 - nvmhome
本文意在让你掌握极速搭建Node服务端(任何Project) $ whoami name: kelvin email: kelvv@outlook.com homepage: www.kelvv.co ...
- Arcgis GDB文件地理数据库、shapefile、coverage 和其他基于文件的数据源所支持的函数的完整列表
函数 以下是文件地理数据库.shapefile.coverage 和其他基于文件的数据源所支持的函数的完整列表.个人地理数据库和 ArcSDE 地理数据库也支持这些函数,但这些数据源可能使用不同的语法 ...
- Mybatis学习第三天——输入输出映射以及动态SQL
注意:以下传入数据与输出数据类型部分使用别名的方式,别名在SqlMapConfig.xml核心文件中配置 1.输入映射 1.1 传递简单数据类型 1.2 传递pojo中的类类型 1.3 传递Query ...
- jquery-animate()动画
一.animate()语法 $(“选择器”).animate({CSS样式},时间,运动方式,回调函数); 参数说明: 参数1:CSS属性名,属性值,JSON格式{"属性名":&q ...
- elasticsearch 使用tcp 访问NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{Yk0WjtKbQXqYCJSDFRYlRA}
默认的 elasticsearch.yml 端口是9200,是给tcp提供的.如果想使用 自带的 TransportClient 需要配置为 tcp 的9300端口.配置方式为: 在/config/ ...