以下の code で一応動くものが出来たのですが、
IE6 だと左下のステータスバーにエラーが出てしまいます。
function setWidth2(pixel) {
calc.style.width = pixel;
}
ここに問題があるようですが、数字を
そのまま入れた場合はだいじょうぶなようです。
直し方が解りますでしょうか?
-------------------
<html>
<head>
<title>[ DHTML ]</title>
<script type="text/javascript">
<!--
var w = 200;
var h = 200;
function setWidth(ratio) {
var cur = calc.style.width.substring(0,3);
var set = w*ratio;
var time = 1;
if(cur < set) {
for(i=cur; i<=set; i++) {
setTimeout("setWidth2(" + i + ")",time);
time++;
}
}
else if(cur > set) {
for(i=cur; i>=set; i--) {
setTimeout("setWidth2(" + i + ")",time);
time++;
}
}
}
function setWidth2(pixel) {
calc.style.width = pixel;
}
// -->
</script>
<style type="text/css">
.b1 {
color: "#AFEEEE";
font-size: 24px;
text-align: center;
background-color: white;
}
.button8 {
background-color: white;
cursor: pointer;
}
</style>
</head>
<body><center>
<br>
<table border="0" cellspacing="1" cellpadding="10" bgcolor="#cccccc">
<tr>
<td class="button8">Width</td>
<td class="button8" onMouseDown="setWidth(1.0);">100%</td>
<td class="button8" onMouseDown="setWidth(3.0);">300%</td>
</tr>
</table>
<br>
<table bgcolor="#cccccc" id="calc">
<tr>
<td class="b1"></td>
</tr>
</table>
</center></body></html>
No.1ベストアンサー
- 回答日時:
setWidth()の1行目
var cur = calc.style.width.substring(0,3);
が初期値を0ではなく""(空)を返していますね。
これをもとにsetWidth2(pixel)を実行しているので
数字以外のpixelが悪さをしているのでしょう
用件としてはpixelが数値だと評価をして実行すればよいので
function setWidth2(pixel) {
if(typeof pixel=="number") calc.style.width = pixel;
}
とするとよいでしょう。
もちろんsetWidthで空データを0と置き換える処理をいれても結構です。
蛇足ですが、idで指定されたcalcオブジェクトを暗黙で処理して
いますが、calc=document.getElementById('calc')などと
明示してやった方がよくないですか?
ありがとうございます!! うまくいきました^^
calc.style.width はそのオブジェクトの幅を返すと思ってたのですが、
一度設定した後でないと空っぽだったんですね。
結局、onload に
function setSize() {
setWidth2(w);
}
を入れることで直せました。
getElementById を使った方が後で解り易そうですね。
ちなみに、もう御存知かもしれませんが
こちらの資料は役に立つので参考にしてみてください。
http://msdn.microsoft.com/library/ja/default.asp …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptで画像の移動
-
【jQuery】tableループ内のIDの...
-
idの振り直しについて
-
クリックで指定のテーブルの背...
-
selectのonChangeが動作しません
-
クリックごとに文字色が交互に...
-
<JavaScript>tableタグを入力不...
-
javascriptでスロットマシン
-
正規表現で複数マッチ条件で悩...
-
ボタン2回押しを無効にしたい
-
<form action="#">の意味とは?
-
<td>の中のonClick="location" で
-
JavaScriptにて動的に配列を作...
-
背景色を変えて未入力チェック...
-
【jsp/Java】チェックボックス...
-
selectを変更不可にしたい
-
selectを使った計算
-
セレクトメニューで選択された...
-
テキストフィールドに入力した...
-
フォームから入力すると、入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<JavaScript>tableタグを入力不...
-
画面表示とともに、テーブルの...
-
selectのonChangeが動作しません
-
テーブルの行数を可変長にした...
-
テキストエリアに入力した改行...
-
【jQuery】tableループ内のIDの...
-
idの振り直しについて
-
プルダウンメニューを表の中に...
-
javascriptで画像をテーブルに...
-
javascriptで<table>背景色の取得
-
どこに挿入?
-
javascriptでクリックするごと...
-
jquery にて、アラートダイアロ...
-
Javascriptでテーブルタグの座...
-
動的なcheckboxのcheckedについて
-
javascriptで画像の移動
-
<iframe>内にHTMLをランダム表...
-
クリックごとに文字色が交互に...
-
javascriptでスロットマシン
-
連動テーブルのクロスハイライト
おすすめ情報