JS修改圖片的大小


注:利用js是不能修改圖片的實際大小的,修改的只是圖片在標簽中對應的width,height屬性。

 1.通過var p = document.getElementById('image')獲取到對應id的DOM對象

2.再使用對象的style屬性(前提是image對象已經設置過style屬性),p.style.width='200px'(切記:此處是字符串,格式一定是:???px,不能只寫個數字,否則在有的瀏覽器上圖片的大小是不會改變的)

以下代碼實現了每次點擊按鈕可以實現圖片變大或縮小一點:

我在腳本中定義了兩個全局變量用來記錄圖片的寬和高,因為style.width或style.height屬性值是字符串,所以用new String(x++)+'px'的方式來實現屬性值的輸入,這個技巧在此做一個記錄,便於以后查看.

 

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>圖像交換</title>
<style type="text/css">
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, a, address, big, cite, code, del, 
em, img, ins, small, strong, var, b, u, i, center, dl,
dt, dd, ol, ul, li, fieldset, form, label, legend,iframe {
  margin:0px; 
  padding:0px;
  /*
  用來取消一些標簽默認的margin和padding
  */
}
body{
    text-align: center;
}
#father{
    position:relative;
    margin:auto;
    width: 800px;
    height:600px;
    border-style: solid;
}
#header{
    height:100px;
    width: 800px;
    background-image: url("images/bg2.jpg");
}
#daohang{
    height:30px;
    width:800px;
    background-color: #99FFFF;
}
#left{
    width:180px;
    height:440px;
    background-color: #F0FFFF;
}
#right{
    position: absolute;
    top:130px;
    left:180px;
    height:440px;
    width:620px;
    text-align: left;
}
#footer{
    position:absolute;
    top:570px;
    height:30px;
    width: 800px;
    background-color: #99FFFF;
}
#header h1{
    height: 3em;
    line-height: 3em;
    overflow: hidden;
    letter-spacing: 5px;
}
a{
    height: 2em;
    line-height: 2em;
    overflow: hidden;
    text-decoration: none;
}
p{
    height: 2em;
    line-height: 2em;
    overflow: hidden;
}
ul{
    list-style-type:none;
}
li{
    padding: 10px;
}
#apply{
    font-size: 30px;
    font-weight: bold;
}
.ftcss{
    font-family: 宋體,sans-serif;
    font-size:12pt;
    color:#0011aa;
    text-align: left;
    text-indent: 2em;
    line-height: 1.8;
}
.bold{
    font-weight: 600;
}
.italic{
    font-style: italic;
}
.underline{
    text-decoration: underline;
}
</style>
<script type="text/javascript" src="changeimg.js"></script>
</head>
<body>
<div id="father">
    
<div id="header">
    <h1 class="title">&nbsp;&nbsp;&nbsp;&nbsp;軟件開發基礎-實驗</h1>
</div>

<div id="daohang">
    <a href="../test1/test1-index.html" class="one">實驗一</a>
    <a href="../test2/test2-html.html" class="two">實驗二</a>
    <a href="../test3/test3-jsimg.html" class="three">實驗三</a>
    <a href="" class="four">實驗四</a>
    <a href="" class="five">實驗五</a>
    <a href="" class="six">實驗六</a>
    <a href="" class="seven">實驗七</a>
    <a href="" class="eight">實驗八</a>
</div>

<div id="left">
    <ul>
        <li id="apply">JS應用</li>
        <li id="formathtml"><a href="test3-jsimg.html">圖像交換</a></li>
        <li id="formatfont"><a href="test3-jsmin.html">網頁秒表</a></li>
        <li id="formattable"><a href="test3-jstable.html">表格編輯</a></li>
    </ul>
</div>

<div id="right">
    <br/>
    <h2>圖像交換</h2>
    <br/>
    <img src="images/forest1.jpg" id='image' style="width: 400px; height: 200px;" 
     onMouseOut="changeImg('images/forest1.jpg')"
     onMouseOver="changeImg('images/forest2.jpg')" 
     onClick="changeImg('images/forest3.jpg')"/>
     <!-- onMouseOut鼠標移出指定對象時的效果 -->
     <!-- onMouseOver鼠標移動到指定對象上的效果 -->
     <!-- onClick鼠標完成一次點擊(按下&松開)的效果 -->
     <!-- onMouseDown鼠標完成按下的瞬間產生的效果 -->
     <!-- onMouseUp鼠標完成松開的瞬間產生的效果 -->
    <br/>
    
    <input type="button" value="增大" onclick="bigger()"/>
    <input type="button" value="增小" onclick="smaller()"/>
        
</div>

<div id="footer">
    <p>2015-2016-1學期&nbsp;軟件工程</p>
</div>

</div>
<script type="text/javascript">
var x=400;
var y=200;
function changeImg() {
    var i = document.getElementById('image');
    i.src = src;
}
function bigger() {
    var p = document.getElementById('image');
    p.style.width=new String(x++)+'px';
    p.style.height=new String(y++)+'px';
    
}
function smaller() {
    var q = document.getElementById('image');
    q.style.width=new String(x--)+'px';
    q.style.height=new String(y--)+'px';
}
</script>
</body>
</html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM