IE6やoperaでは動くのですがFirefox3やその他のブラウザでは動きません。
以下にソースを示しますので、おかしい箇所の指摘・アドバイスをお願いします。
function height_change(type){
if(type=="up"){
height_size = document.getElementById("edit").clientHeight+50;
}else
if(type=="dw"){
height_size = document.getElementById("edit").clientHeight-50;
}
document.getElementById("edit").style.height = height_size;
}
※実際に動作させた上でのご回答をお願いします
自力でクロスブラウザを実現するのは骨が折れます。
ここは素直にjQueryを使いましょう。
<script type="text/javascript" src="jquery-1.2.6.js"></script> <script> $(function(){ $("#up_btn").click(function(){ $("#tarea").css("height","500px"); }); $("#dwn_btn").click(function(){ $("#tarea").css("height","200px"); }); }); </script> </head> <body> <textarea id="tarea"></textarea><br /> <button id="up_btn">up</button> <button id="dwn_btn">down</button> </body>
document.getElementById("edit").style.height = height_size;
↓
document.getElementById("edit").style.height = height_size+"px";
単純にこれで宜しいかと思います。
出来ました!
safariやGoogle Chromeなど、他のブラウザでも伸縮できました。
原因は「単位を付けていない」事だったんですね・・。非常に参考になりました。
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | GoldenDawn | 426回 | 399回 | 81回 | 2009-01-20 12:37:29 |
2 | MORIYAMA Hiroshi | 21回 | 16回 | 8回 | 2009-01-21 04:27:33 |
jqueryを使う事に抵抗はありませんが、「なぜそうなるのか」がわからないのに使う事には抵抗ありますね。。ソースをコピーして貼るだけでは問題があった時に対処できないし。
ちなみに上記のソースをそのまま貼りましたが動きませんでした。