課程
/前端開發(fā)
/JavaScript
/用JavaScript實(shí)現(xiàn)圖片緩慢縮放效果
為什么,我定義的 var minWidth = img.width * 0.25; 在瀏覽器下面會說width未定義?
2017-03-21
源自:用JavaScript實(shí)現(xiàn)圖片緩慢縮放效果 3-4
正在回答
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標(biāo)題文檔</title></head><body><div style="width:400px;margin:0 auto"> <img src="http://img1.sycdn.imooc.com//53577ee900016c2102080260.jpg" id="myImage" ?/><br /> <input type="button" id="max" value="放大" ?/> <input type="button" id="min" value="縮小" ?/></div><script type="text/javascript"> window.onload = function(){ ?var maxBtn = document.getElementById("max"); ?maxBtn.onclick = function(){//添加放大點(diǎn)擊事件 ? maxFun();//放大函數(shù) ? ?}; ?var minBtn = document.getElementById("min"); ?minBtn.onclick = function() { ? minFun(); ?}; ?var minWidth = img.width * 0.25; ?var minHegiht = img.height * 0.25; ?var img = document.getElementById("myImage"); ?var maxWidth = img.width*2;//放大寬度的極限值 ?var maxHeight = img.height*2;//放大的高度極限值 ?//定義放大函數(shù) ?function maxFun(){ ? ?var endwidth = img.width * 1.3; ?//每次點(diǎn)擊后的寬度 ? ?var endheight = img.height * 1.3; //每次點(diǎn)擊后的高度 ? 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("已經(jīng)放大到最大值了"); ? ? ?//終止定時器 ? ? ?clearInterval(maxTimer); ? ? } ? ?}else{ ? ? clearInterval(maxTimer); ? ?} ? },10); ?} ?//定義縮小函數(shù) ?function minFun(){ ? endwidth2 = img.width * 0.7; ? var minTime = setInterval(function(){ ? ?if(img.width > endwidth2) { ? ? if(img.width > minWidth) { ? ? ?img.width = img.width * 0.92; ? ? ?img.height = img.height * 0.92; ? ? }else{ ? ? ?alert("已經(jīng)是最小寬度了"); ? ? ?clearInterval(minTime); ? ? } ? ?}else{ ? ? clearInterval(minTime); ? ?} ? },20) ?} }</script></body></html>
隊友殺手 提問者
舉報
本課程講解如何使用JavaScript技術(shù)實(shí)現(xiàn)圖片縮放效果,并分析原理
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-03-21
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標(biāo)題文檔</title>
</head>
<body>
<div style="width:400px;margin:0 auto">
<img src="http://img1.sycdn.imooc.com//53577ee900016c2102080260.jpg" id="myImage" ?/><br />
<input type="button" id="max" value="放大" ?/>
<input type="button" id="min" value="縮小" ?/>
</div>
<script type="text/javascript">
window.onload = function(){
?var maxBtn = document.getElementById("max");
?maxBtn.onclick = function(){//添加放大點(diǎn)擊事件
? maxFun();//放大函數(shù) ?
?};
?var minBtn = document.getElementById("min");
?minBtn.onclick = function() {
? minFun();
?};
?var minWidth = img.width * 0.25;
?var minHegiht = img.height * 0.25;
?var img = document.getElementById("myImage");
?var maxWidth = img.width*2;//放大寬度的極限值
?var maxHeight = img.height*2;//放大的高度極限值
?//定義放大函數(shù)
?function maxFun(){
? ?var endwidth = img.width * 1.3; ?//每次點(diǎn)擊后的寬度
? ?var endheight = img.height * 1.3; //每次點(diǎn)擊后的高度
? 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("已經(jīng)放大到最大值了");
? ? ?//終止定時器
? ? ?clearInterval(maxTimer);
? ? }
? ?}else{
? ? clearInterval(maxTimer);
? ?}
? },10);
?}
?//定義縮小函數(shù)
?function minFun(){
? endwidth2 = img.width * 0.7;
? var minTime = setInterval(function(){
? ?if(img.width > endwidth2) {
? ? if(img.width > minWidth) {
? ? ?img.width = img.width * 0.92;
? ? ?img.height = img.height * 0.92;
? ? }else{
? ? ?alert("已經(jīng)是最小寬度了");
? ? ?clearInterval(minTime);
? ? }
? ?}else{
? ? clearInterval(minTime);
? ?}
? },20)
?}
}
</script>
</body>
</html>