純js的圖片方法,很鍛鍊思路的小例子

HTML 腳本語言 技術 滑稽研究基地 2017-05-15

今天給大家帶來的純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>

有需要的可以自己弄的漂亮些

純js的圖片方法,很鍛鍊思路的小例子

下面開始寫腳本

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.

喜歡的點下關注,每天更新的東都是可以幫助鍛鍊思維的基礎性東西,當然難度會越來越高的,一起進步。一起學習了

相關推薦

推薦中...