用JS实现,图片放大和缩小
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
img {
margin: 100px 0px 0px 500px;
}
#div2 {
margin-left: 500px;
}
#max,
#min {
display: inline-block;
border: 1px solid aqua;
font-size: 30px;
border-radius: 50%;
background-color: #FFFF00;
outline: none
}
</style>
</head>
<body>
<div id="div1">
<!--<img src="img/001.jpg" id="myImage" />-->
<img src="http://img0.imgtn.bdimg.com/it/u=1244475385,1750660751&fm=21&gp=0.jpg" id="myImage"/>
</div>
<div id="div2">
<input type="button" id="max" value="放大" />
<input type="button" id="min" value="缩小" />
</div>
</body>
<script type="text/javascript">
//setInterval(fun,time) 每隔一段时间执行一次规定的函数
//一直循环下去,时间以毫秒为单位
//例如:
//var timer=setInterval(function(){alert(1)},1000);
//clearInterval(timer): 清除时间函数,终止时间函数继续执行。
//例如:clearInterval(timer)
// 步骤:
//1.添加页面元素,实现页面布局
//2.在页面布局的基础上,通过使用javascript来控制操作按钮,
//从而实现页面的交互效果
//3.
window.onload = function() {
var maxBth = document.getElementById("max");
maxBth.onclick = function() { //添加放大点击事件
//放大函数
maxFun();
}
var img = document.getElementById("myImage");
var maxWidth = img.width * 2; //放大的极限值
var maxHeight = img.height * 2; //放大的高度的极限值
//定义放大函数
function maxFun() {
var endWidth = img.width * 1.3; //每次点击后的宽度
var endHeight = img.height * 1.3; //每次点击后的高度
var maxTimer = setInterval(function() {
if(img.width < endWidth) {
if(img.width < maxWidth) {
img.width = img.width * 1.05;
img.height = img.height * 1.05;
} else {
alert("已经放大到最大值了")
clearInterval(maxTimer);
}
} else {
clearInterval(maxTimer);
}
}, 20);
}
var minBtn = document.getElementById("min");
minBtn.onclick = function() {
minFun();
}
var minWidth = img.width * 0.5; //缩小宽度的极限值
var minHeight = img.height * 0.5; //缩小高度的极限值
//实现缩小函数
function minFun() {
var endWidth = img.width * 0.7; //每次点击后的宽度
var endHeight = img.height * 0.7; //每次点击后的高度
var maxTimer = setInterval(function() {
if(img.width > endWidth) {
if(img.width > minWidth) {
img.width = img.width * 0.95;
img.height = img.height * 0.95;
} else {
alert("已经缩小到最小值了")
clearInterval(maxTimer);
}
} else {
clearInterval(maxTimer);
}
}, 20);
}
}
</script>
</html>
用JS实现,图片放大和缩小的更多相关文章
- 在cocos2d中实现真正意思上的图片放大和缩小
http://www.cnblogs.com/dinghing154/archive/2012/08/05/2623970.html 在编写程序的时候我们常常使用self.scale来让我们使用的图片 ...
- CSS设置标签、图片放大、缩小、旋转、移动(tranform)
CSS设置标签.图片放大.缩小.旋转.移动(tranform) 1.缩小和放大属性(scale) 格式:tranform:缩小类型(数值): 注意:缩小和放大都是 scale : 其中的值(0~1)代 ...
- js 压缩图片(只缩小体积,不更改图片尺寸)
1.情景展示 如上图所示,点击上传图片按钮,调用手机摄像头拍照功能. <input onchange="javascript:imgFun.uploadPicture();&quo ...
- js控制图片放大缩小的简易版
js代码: function bb_img_onmousewheel(e, o) { var zoom = parseInt(o.style.zoom, 10) || 100; zoom += eve ...
- 测试cnblogs的代码折叠展开功能和zoom.js实现图片放大缩小冲突的问题
#!/usr/bin/env python # -*- coding:utf- -*- def test(): print('from the test'
- H5端js实现图片放大滑动查看-插件photoswipe的使用
最近在开发项目的时候,遇到一个需求,需要移动端实现放大查看图片的功能,然后我就在网上搜索了一下资料,看到了photoswipe这个插件,后来试了试,确实挺好用的,它可以实现手势放大缩小查看图片,左右滑 ...
- c语言数字图像处理(二):图片放大与缩小-双线性内插法
图像内插 假设一幅大小为500 * 500的图像扩大1.5倍到750 * 750,创建一个750 * 750 的网格,使其与原图像间隔相同,然后缩小至原图大小,在原图中寻找最接近的像素(或周围的像素) ...
- java图片放大或缩小
package org.jimmy.autotranslate20181022.utils; import java.awt.Graphics; import java.awt.image.Buffe ...
- vue图片放大、缩小、旋转等
用于图片浏览的Vue组件,支持旋转.缩放.翻转等操作,基于viewer.js. 效果: 安装 使用npm命令安装 npm install v-viewer 使用 引入v-viewer及必需的css样式 ...
随机推荐
- 设置浏览器地址栏URL前面显示的图标
其实很简单,你只做个ico图标,命名为favicon.ico,把它传到你的页面下面. 并在相应的页面里加上代码 在页面<heah></heah>之间加, <link r ...
- ural 2021 Scarily interesting!(贪心)
2021. Scarily interesting! Time limit: 1.0 secondMemory limit: 64 MB This year at Monsters Universit ...
- nginx Win下实现简单的负载均衡(2)站点共享Session
快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...
- POJ--1094--Sorting It All Out||NYOJ--349--Sorting It All Out(拓扑排序)
NYOJ的数据水一点,POJ过了是真的过了 /* 拓扑排序模板题: 每次输入都要判断有环与有序的情况,如果存在环路或者已经有序可以输出则跳过下面的输入 判断有序,通过是否在一个以上的入度为0的点,存在 ...
- Senior Manufacturing Technical Manager
Job Description As a Manufacturing Technical Manager, you will be responsible for bringing new produ ...
- C#进阶之路(一):委托
一.什么是委托 简单说它就是一个能把方法当参数传递的对象,而且还知道怎么调用这个方法,同时也是粒度更小的“接口”(约束了指向方法的签名). 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方 ...
- [Luogu3727]曼哈顿计划E
luogu 题意(简化版) 给你一棵树,每个点上有一个\(SG\)值,问你是否存在一条路径使得\(SG\)异或和为\(0\). sol 可以当做每个点的稳定值就是这个点上的石子数量. 很显然我们只需要 ...
- 统计数字noip2007
7909:统计数字 总时间限制: 1000ms 内存限制: 65536kB 描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109).已知不相同的数不超过1000 ...
- htc使用方式(转)
一.htc的两种使用方式: 关联行为(Attach Behavior): IE 5.0以上支持, htc 技术出现的初衷. 主要目的是把对象复杂的样式变化包装起来,替代 javascript + cs ...
- 使用bat文件实现批量重命名功能
在生活中我们总会碰到对大量文件进行重命名操作,这时如果一个一个的,选取文件→右键→重命名→选取文件,这样操作势必会浪费大量时间. 现在小编就告诉大家一个使用bat文件(命令行)的方法,快速对文件进行重 ...