js 鼠标放到图片上放大某一部分效果
动图效果:

代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
* {
margin: 0;
padding: 0;
} .container,
img,
.bigger {
width: 200px;
height: 200px;
} .container {
display: inline-block;
position: relative;
background: url(images/1.png) center;
background-size: contain;
} img {
position: absolute;
top: 0;
left: 0;
} .box {
width: 100px;
height: 100px;
background-color: #ffff7f;
opacity: 0.7;
position: absolute;
} .bigger {
position: relative;
display: inline-block;
overflow: hidden;
} .biggerImg {
position: absolute;
transform: scale(2);
transform-origin: top left;
}
</style>
</head>
<body>
<div class="container">
<div class="box" style="top: 0px;left: 0px;"></div>
</div>
<div class="bigger">
<img class="biggerImg" src="./images/1.png" style="display: none;" />
</div>
</body> <script type="text/javascript">
var container = document.querySelector(".container");
var box = document.querySelector(".box");
var bigger = document.querySelector(".biggerImg");
var width = box.parentNode.offsetWidth;
var height = box.parentNode.offsetHeight; container.addEventListener("mousedown", function() {
bigger.style.display = "block";
container.addEventListener("mousemove", mouseMove);
container.addEventListener("mouseup", function() {
bigger.style.display = "none";
container.removeEventListener("mousemove", mouseMove);
})
}); function mouseMove(e) {
if (e.clientY - 50 < 0) {
box.style.top = 0;
bigger.style.top = 0;
} else if (e.clientY - 50 > 100) {
box.style.top = 100;
bigger.style.top = 100;
} else {
box.style.top = e.clientY - 50 + "px";
bigger.style.top = -2 * (e.clientY - 50) + "px";
} if (e.clientX - 50 < 0) {
box.style.left = 0;
bigger.style.left = 0;
} else if (e.clientX - 50 > 100) {
box.style.left = 100;
bigger.style.left = 100;
} else {
box.style.left = e.clientX - 50 + "px";
bigger.style.left = -2 * (e.clientX - 50) + "px";
}
}
</script>
</html>
js 鼠标放到图片上放大某一部分效果的更多相关文章
- jQuery实现鼠标放到图片上,放大图片
<script src="../../Script/jquery-1.7.2.js" type="text/javascript"></scr ...
- [转]jquery 鼠标放在图片上显示图片的放大镜效果jqzoom_ev-2.3
本文转自:http://blog.csdn.net/weizengxun/article/details/6768183 鼠标放在图片上显示图片的放大镜效果使用jqzoom实现,本例版本2.3 效果图 ...
- js基础进阶--图片上传时实现本地预览功能的原理
欢迎访问我的个人博客:http://www.xiaolongwu.cn 前言 最近在项目上加一个图片裁剪上传的功能,用的是cropper插件,注意到选择本地图片后就会有预览效果,这里整理一下这种预览效 ...
- 用html5文件api实现移动端图片上传&预览效果
想要用h5在移动端实现图片上传&预览效果,首先要了解html5的文件api相关知识(所有api只列举本功能所需): 1.Blob对象 Blob表示原始二进制数据,Html5的file对象就继 ...
- 原生JS实现异步图片上传(预览)
效果 实现过程分为两步 1. 用户点击添加后通过 H5文件读取 FileReader对象以DataURL的格式读取图片 2. 通过FormData对象生成表单数据,通过ajax上传到后台 HTML & ...
- 基于js鼠标拖动图片排序
分享一款基于js的图片排序效果.鼠标拖动图片,重新排列图片的排列顺序.该插件适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线 ...
- Jquery图片上传预览效果
uploadPreview.js jQuery.fn.extend({ uploadPreview: function (opts) { var _self = this, _this = $(thi ...
- 使用iframe实现图片上传预览效果
原理:将图片上传的页面放在iframe中,这样就可以在iframe中将图片提交到服务器而不需要页面刷新,提交成功后用脚本实现主页面显示上传的图片. Default.aspx: <%@ Page ...
- input file图片上传预览效果
两种方法,方法一: js代码: //头像上传预览 $("#up").change(function() { var $file = $(this); var fileObj = $ ...
随机推荐
- C 输入输出函数
流 就C程序而言,所有的I/O操作只是简单地从程序移入或移出字节的事情.这种字节流便称为流( stream ). 绝大多数流是完全缓存的,这意味着"读取"和"写入&quo ...
- 初学python-day5 流程控制
流程控制 一.判断语句 1.if语句(单一条件分支) 结构: if 表达式: 为真的时候执行的语句 概述:当程序运行到if语句时候,首页要计算表达式的值,判断真假,如果表达式的职位为真,则执行i ...
- 在Windows上使用Docker 创建MongoDB 副本集的极简方法(翻译)
这篇博客介绍下在Windows上使用Docker 创建MongoDB 三节点副本集的最简单的方法.以下命令需要Docker for Windows并使用Linux 容器. 1: 为每个节点创建数据卷 ...
- 移动端 h5 uniapp 读,写,删本地文件或sd文件
移动端 h5 uniapp 读,写,删本地文件或sd文件 应用场景: 当我们需要做离线应用或者是加载本地文件时使用到此方法.(本篇文章给大家分享访问app私有文件目录,系统公共目录,sd外置存储的文件 ...
- [no_code][Beta]发布声明报告
$( "#cnblogs_post_body" ).catalog() 软件下载 一个全新的超简易的OCR表单识别工具 轻松拍照,实现手写表格识别 一键打开,支持多种应用打开你的表 ...
- the Agiles Scrum Meeting 1
会议时间:2020.4.9 20:00 1.每个人的工作 今天已完成的工作 前端 学习JavaScript.Vue.ElementUI相关知识 issues:预习任务-前端:JavaScript 预习 ...
- 常用Java API:大数类
摘要 java中的基础数据类型能存储的最大的二进制数是 2 ^ 63 - 1, 对应的十进制数是9223372036854775807,也就是说只要运算过程中会超过这个数,就会造成数据溢出,从而造成错 ...
- 【Azure 应用服务】App Service For Linux 部署Java Spring Boot应用后,查看日志文件时的疑惑
编写Java Spring Boot应用,通过配置logging.path路径把日志输出在指定的文件夹中. 第一步:通过VS Code创建一个空的Spring Boot项目 第二步:在applicat ...
- 你知道怎么从jar包里获取一个文件的内容吗
目录 背景 报错的代码 原先的写法 编写测试类 找原因 最终代码 背景 项目里需要获取一个excle文件,然后对其里的内容进行修改,这个文件在jar包里,怎么尝试都读取不成功,但是觉得肯定可以做到,因 ...
- 矩形覆盖 牛客网 剑指Offer
矩形覆盖 牛客网 剑指Offer 题目描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形.请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? class Solution: ...