2011-11-24 24 views
12

Co robię źle? Dlaczego wysokość div nie uległa zmianie?Zmień wysokość div na przycisku kliknij

<html> 
    <head>  
    </head> 

<body > 
    <button type="button" onClick = "document.getElementById('chartdiv').style.height = 200px">Click Me!</button> 
    <div id="chartdiv" style="width: 100%; height: 50px; background-color:#E8EDF2"></div> 
</body> 
</html> 
+1

należy zapoznać się z jQuery, to sprawia, że ​​rzeczy sposób łatwiejsze. :) www.jquery.com – odaa

Odpowiedz

24

prostu głupie używanie pomyłka cudzysłów ('') w '200px'

<html> 
    <head>  
    </head> 

<body > 
    <button type="button" onClick = "document.getElementById('chartdiv').style.height = '200px';">Click Me!</button> 
    <div id="chartdiv" style="width: 100%; height: 50px; background-color:#E8EDF2"></div> 
</body> 

9

Wykonaj:

 
function changeHeight() { 
document.getElementById('chartdiv').style.height = "200px" 
} 
<button type="button" onClick="changeHeight();"> Click Me!</button> 

1

Trzeba podczas korzystania pikseli ustawić wysokość jako wartość ciągu.

document.getElementById('chartdiv').style.height = "200px" 

Spróbuj również dodać DOCTYPE do kodu HTML przeglądarki Internet Explorer.

<!DOCTYPE html> 
<html> ... 
-1

Wystarczy usunąć "px" na przypisanie style.height, jak:

<button type="button" onClick = "document.getElementById('chartdiv').style.height = 200px"> </button> 

Powinny być

<button type="button" onClick = "document.getElementById('chartdiv').style.height = 200">Click Me!</button> 
0

Po prostu zapomniał cytaty. Zmień kod zgodnie z:

<button type="button" onClick = "document.getElementById('chartdiv').style.height = '200px'">Click Me!</button> 

powinien działać.

1

spojrzeć na celu vwphillips' post od 03-06-2010, 03:35 PM w http://www.codingforums.com/archive/index.php/t-190887.html

<html> 
    <head> 
     <title></title> 
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 

     <script type="text/javascript"> 

     function Div(id,ud) { 
      var div=document.getElementById(id); 
      var h=parseInt(div.style.height)+ud; 
      if (h>=1){ 
       div.style.height = h + "em"; // I'm using "em" instead of "px", but you can use px like measure... 
      } 
     } 
     </script> 

    </head> 
    <body> 
     <div> 
     <input type="button" value="+" onclick="Div('my_div', 1);">&nbsp;&nbsp; 
     <input type="button" value="-" onclick="Div('my_div', -1);"></div> 
     </div> 

     <div id="my_div" style="height: 1em; width: 1em; overflow: auto;"></div> 

    </body> 
</html> 

To zadziałało dla mnie :)

Be Z poważaniem!

+0

Należy odradzać [linki-odpowiedzi] (http://meta.stackoverflow.com/tags/link-only-answers/info), odpowiedzi w formacie SO powinny być punktem końcowym poszukiwanie rozwiązania (w przeciwieństwie do kolejnego zatrzymania referencji, które z czasem stają się nieaktualne). Proszę rozważyć dodanie samodzielnego streszczenia tutaj, zachowując odnośnik jako odniesienie. – kleopatra

+0

Będę aktualizować moją odpowiedź ... Dzięki @kleopatra! :) – mailazs

0

var ww1 = ""; 
 
var ww2 = 0; 
 
var myVar1 ; 
 
var myVar2 ; 
 
function wm1(){ 
 
    myVar1 =setInterval(w1, 15); 
 
} 
 
function wm2(){ 
 
    myVar2 =setInterval(w2, 15); 
 
} 
 
function w1(){ 
 
ww1=document.getElementById('chartdiv').style.height; 
 
ww2= ww1.replace("px", ""); 
 
    if(parseFloat(ww2) <= 200){ 
 
document.getElementById('chartdiv').style.height = (parseFloat(ww2)+5) + 'px'; 
 
    }else{ 
 
     clearInterval(myVar1); 
 
    } 
 
} 
 
function w2(){ 
 
ww1=document.getElementById('chartdiv').style.height; 
 
ww2= ww1.replace("px", ""); 
 
    if(parseFloat(ww2) >= 50){ 
 
document.getElementById('chartdiv').style.height = (parseFloat(ww2)-5) + 'px'; 
 
    }else{ 
 
     clearInterval(myVar2); 
 
    } 
 
}
<html> 
 
    <head>  
 
    </head> 
 

 
<body > 
 
    <button type="button" onClick = "wm1()">200px</button> 
 
    <button type="button" onClick = "wm2()">50px</button> 
 
    <div id="chartdiv" style="width: 100%; height: 50px; background-color:#ccc"></div> 
 
    
 
    <div id="demo"></div> 
 
</body>

Powiązane problemy