用Javascript实现图片的缓慢缩放效果
<body>
<!--页面布局:一张图片两个按钮-->
<div style = "width:400px;margin:0 auto"> <!--设置div,目的使图片居中-->
<img src = "./wolf.jpg" id="image"/><br/>
<input type = "button" id = "max" value = "放大"/>
<input type = "button" id = "min" value = "缩小"/>
</div>
<script>
//获取元素,添加点击事件
window.onload = function() {
var img = document.getElementById("image");
var maxBtn = document.getElementById("max");
var minBtn = document.getElementById("min"); var maxWidth = img.width * 2;//定义放大的极限宽度值
var minWidth = img.width * 0.5;//定义缩小的极限宽度值 maxBtn.onclick = function () {//添加放大的点击事件
maxFun();//调用放大函数
}; minBtn.onclick = function(){//添加缩小的点击事件
console.log("click minbutton");
minFun();//调用缩小函数
};
//定义放大函数
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);
}
}, 10);
}
//定义缩小函数
function minFun(){
var endWidth = img.width * 0.7;//定义每次点击后缩小的宽度
var endHeight = img.height * 0.7;//定义每次点击后缩小的高度
var minTimer = setInterval(function(){
if(img.width > endWidth){//判断点击结束后的图片宽度是否大于每次点击的最小宽度
if(img.width > minWidth){//判断点击结束后的图片宽度是否大于缩小的极限宽度
img.width = img.width * 0.95;//每次点击的宽度缩小幅度
img.height = img.height * 0.95;//每次点击的高度缩小幅度
console.log("img.height = img.height * 0.95;");
}else{
alert("已经缩小到最小值");
clearInterval(minTimer);
console.log("clear Interval");
}
}else{
clearInterval(minTimer);
}
},10);
}
} </script>
</body>
用Javascript实现图片的缓慢缩放效果的更多相关文章
- ASP.NET中使用JavaScript实现图片自动水平滚动效果
参照网上的资料,在ASP.NET中使用JavaScript实现图片自动水平滚动效果. 1.页面前台代码: <%@ Page Language="C#" AutoEventWi ...
- javascript 单个图片的淡入淡出效果和多张图片的淡入淡出效果
最近刚好在看之前妙趣网站的javascript 初级运动教程,教程里说设置图片的透明度使用了一个变量.这种方法确实不错,但是燕姐喜欢麻烦.就用自己的理解方法写了一遍.其中也是各种坑.现在先把一个图片的 ...
- JavaScript实现图片裁剪预览效果~(第一个小玩具)
感觉开始学习的前一个月真的太不珍惜慕课网的资源了 上面蛮多小玩意真的蛮适合我这样刚入门JavaScript的同学加深使用理解 大概收藏了百来门或大或小的课程 有一个感觉就是学这个真的比光是看书看概 ...
- javascript控制图片等比例缩放
<SCRIPT language="JavaScript"> function DrawImage(ImgD,FitWidth,FitHeight){ var imag ...
- HTML5+javascript实现图片加载进度动画效果
在网上找资料的时候,看到网上有图片加载进度的效果,手痒就自己也写了一个. 图片加载完后,隐藏loading效果. 想看加载效果,请ctrel+F5强制刷新或者清理缓存. 效果预览: 0% // ...
- 利用CSS3实现鼠标悬停在图片上图片缓慢缩放的两种方法
1.改变background-size属性 将图片作为某个html元素的背景图片,用transition属性改变图片的大小. .container{ background-size: 100% 100 ...
- 《JavaScript 实战》:JavaScript 实现拖拽缩放效果
拖拉缩放效果,实现通过鼠标拖动来调整层的面积(宽高)大小,例如选框效果.这里的拖拉缩放比一般的选框复杂一点,能设置八个方位(方向)的固定触发点,能设置最小范围,最大范围和比例缩放. 跟拖放效果一样,程 ...
- 《JavaScript 实战》:JavaScript 实现图片切割效果
很久之前就在一个网站的截取相片的功能中看到这个效果,也叫图片裁剪.图片剪切(设置一下也可以做出放大镜等类似的效果).当时觉得很神奇,碍于水平有限,没做出来.前些日子突然想做一个透镜效果,就突然想到了这 ...
- 图片的滑动缩放html、css、js代码
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
随机推荐
- JAVA多线程编程——JAVA内存模型
一.何为“内存模型” 内存模型描述了程序中各个变量(实例域.静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存中取出变量这样的底层细节,对象最终是存储在内存里面的,但是编译器 ...
- codeforce Gym 100570B ShortestPath Query (最短路SPFA)
题意:询问单源最短路径,每条边有一个颜色,要求路径上相邻边的颜色不能相同,无重边且边权为正. 题解:因为路径的合法性和边的颜色有关, 所以在做spfa的时候,把边丢到队列中去,松弛的时候注意判断一下颜 ...
- CPP-网络/通信:经典HTTP协议详解
2008-11-03 09:11 by Hundre, 266688 阅读, 23 评论, 收藏, 编辑 转自:http://blog.csdn.net/gueter/archive/2007/03/ ...
- c++ 拷贝资源方法
#include "stdio.h" #include "stdlib.h" #include <sys/types.h> #include < ...
- [已解决] odoo12 菜单不显示,安装后多出菜单
描述:odoo11中自定义模块写的,除了res.partner,res.users使用odoo自带的.其他的写了一个中国城市l10n_cn_city模型,一个账单模型(继承l10n_cn_city). ...
- 【MySql】Mysql ERROR 1067: Invalid default value for ‘date’ 解决
在给一个表添加字段的时候,忽然发现会报一个date类型的字段的默认值错误,郁闷~ 经过排查,原来是MySQL的配置问题,在wamp下,MySQL 5.7里是没有设置 SQL_MODE 的. 1.my. ...
- 标准C++(3)重载
一.函数的重载 c++中同一作用域下能够定义同名的函数(这就叫重载),但必须满足如下要求: 1.函数的参数列表必须不同,可以使参数数量不同,也可以使参数的类型不同,甚至是参数的顺序不同. 2.函数的返 ...
- How To Add Swap Space on Ubuntu 16.04
Introduction One of the easiest way of increasing the responsiveness of your server and guarding aga ...
- Java-JFrame可视化开发
Java-JFrame可视化开发的一般步骤 JFrame可以做出类似于QQ登录功能的窗体,通过JFrame可以利用Java代码实现窗体功能,一般用于CS项目的C(客户端)的开发: 利用JFrame可以 ...
- 怎样处理jmeter中文乱码
jmeter返回 中文乱码: 1.在jmeter的bin目录下,找到jmeter的配置文件,jmeter.properties,然后把 sampleresult.default.encoding=UT ...