今天給大家帶來的純js寫的一個圖片放大的例子,對於鍛鍊思路有很大幫助的,用到的定時器,if嵌套
不多說了 下面貼代碼
1、
html佈局很簡單
<div class="one">
<div class="onte">
<img src="6-160ZQ2403c95.jpg" id="img">
</div>
<input type="button" id="bt1" value="放大">
</div>
佈局沒什麼好說的,一看就明白
2、
樣式就一行
<style>
.one{margin: 150px auto;width: 900px;}
</style>
有需要的可以自己弄的漂亮些
下面開始寫腳本
var one=document.getElementById('bt1')
找到按鈕id
one.onclick= function () {
funim();
};
開始寫funim方法
var img=document.getElementById('img');獲取下圖片的id
這裡需要開個定時器
var timer=setInterval(function () {
img.width = img.width * 1.05//每次放大105%
img.height = img.height * 1.05
},50)
這樣會發現 圖片會無限放大 所以要給一個範圍
var imgWidth=img.width*1.3;//最大到圖片的130%就停止
var imgHeight=img.height*1.3;
通過if判斷
if(img.width<imgWidth){
img.width = img.width * 1.05//每次放大105%
img.height = img.height * 1.05
}else{
clearInterval(timer);
}
也可在最後加一個 最大尺寸
var imgWid=img.width*2;//圖片極限寬度,是本身圖片的兩倍
var imgHei=img.height*2;//圖片極限高度
下面是全部代碼
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
.one{margin: 150px auto;width: 900px;}
</style>
</head>
<body>
<div>
<div>
<img src="6-160ZQ2403c95.jpg" id="img">
</div>
<input type="button" id="bt1" value="放大">
<input type="button" id="bt2" value="縮小">
</div>
<script>
window.onload= function () {
var one=document.getElementById('bt1')
one.onclick= function () {
funim();
};
var img=document.getElementById('img');
var imgWid=img.width*2;//圖片極限寬度,是本身圖片的兩倍
var imgHei=img.height*2;//圖片極限高度
/**
圖片每次 放大105% 到了圖片130%的就停止 最大到圖片的二倍停止
*/
function funim(){
var imgWidth=img.width*1.3;//最大到圖片的130%就停止
var imgHeight=img.height*1.3;
var timer=setInterval(function () {
if(img.width<imgWidth){
if(img.width<imgWid) {
img.width = img.width * 1.05//每次放大105%
img.height = img.height * 1.05
}else{
clearInterval(timer);
}
}else{
clearInterval(timer);
}
},50)
}
}
</script>
</body>
</html>
小編這裡只寫了放大的效果,有興趣的小夥伴可以把縮小,停止這些都加上,美化下css.
喜歡的點下關注,每天更新的東都是可以幫助鍛鍊思維的基礎性東西,當然難度會越來越高的,一起進步。一起學習了