- PR -

JavaScriptのstyle指定について

1
投稿者投稿内容
すひろ
大ベテラン
会議室デビュー日: 2006/10/17
投稿数: 124
お住まい・勤務地: 愛知県
投稿日時: 2006-12-14 21:04
いつもお世話になっています。
下記のように、JavaScriptから値を取得するstyle属性を2つ定義したら、
alert("通過しました")は表示されるのですがその後の処理が実行されません。
「style="height:'45px'"」だけならちゃんと動作したので、scrollingはJavaScriptから値を取得できないということでしょうか。
開発ツールはStruts、Tomcat、Eclipseです。
よろしくお願いします。

【JSP】
<INPUT type="button" value="OFF" name="msgBtn" onclick="showMsg()" width="100">

<IFRAME name="menuFrameERR" id="msgOutline" frameborder="1" src="errorDisp.html" style="scrolling:'YES'" style="height:'45px'">

【JavaScript(外出しのjsファイル】
var msgDivMin = "20px";
var msgDivMax = "100px";

function showMsg() {
  try {
   var msgDiv = document.all['msgOutline'];
   var h = msgDiv.style.height;
   var msgBtn = document.all['msgBtn'];
   alert("通過しました");
   if (h == msgDivMax) {
    msgDiv.style.height = msgDivMin;
    msgDiv.style.scrolling = "YES";
    msgBtn.value = "OFF";
   } else {
    msgDiv.style.height = "msgDivMax";
    msgDiv.style.scrolling = "NO";
    msgBtn.value = "ON";
   }
  } catch(exception){ }
}
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-14 21:51
引用:

未記入さんの書き込み (2006-12-14 21:04) より:

「style="height:'45px'"」だけならちゃんと動作したので、scrollingはJavaScriptから値を取得できないということでしょうか。


scrolling? overflow ではなくて、ですか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
すひろ
大ベテラン
会議室デビュー日: 2006/10/17
投稿数: 124
お住まい・勤務地: 愛知県
投稿日時: 2006-12-14 22:58
IFRAMEで指定したHTMLファイル(errorDisp.html)を表示するとき、
 1.縦スクロールバーを表示しない代わりにHTMLファイルの内容を一度に見れるようにする
 2.縦スクロールバーを表示する代わりに2,3行しか一度に見れないようにする
この2パターンをmsgBtnボタンを押すたびに切り替えたいので、
scrolling属性をYESとNOで切り替えたいです。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-14 23:12
引用:

未記入さんの書き込み (2006-12-14 22:58) より:

scrolling属性をYESとNOで切り替えたいです。


書いてあるとおりで、scrolling 属性 であって、'style の要素ではない' のでは?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
すひろ
大ベテラン
会議室デビュー日: 2006/10/17
投稿数: 124
お住まい・勤務地: 愛知県
投稿日時: 2006-12-15 23:45
height属性がうまくいったので、HTMLで使用する属性全てに対して使用できると勘違いしていました・・・。

http://f32.aaa.livedoor.jp/~azusa/index.php?t=css&p=315
指摘していただいた事とこちらのページを参考に、下記のようにソースを修正したらうまくいきました。
ありがとうございました。

【JSP】
 <table border="0">
  <tr>
   <th>
    <input type="button" value="OFF" name="msgBtn" onclick="showMsg()">
   </th>
   <td>
    <div id="msgOutline" style="height:'100%';overflow:'visible'">
     <%@ include file="/AF/AFD/errorDisp.html" %>
    </div>
   </td>
  </tr>
 </table>

【JavaScript(外出しのjsファイル】
var msgDivHeightMin = "30px";
var msgDivHeightMax = "100%";
var msgDivOverflowMin = "auto";
var msgDivOverflowMax = "visible";

function showMsg() {
try {
var msgDiv = document.all['msgOutline'];
var h = msgDiv.style.height;
var of = msgDiv.style.overflow;
var msgBtn = document.all['msgBtn'];
if (of == msgDivOverflowMax) {
msgDiv.style.height = msgDivHeightMin;
msgDiv.style.overflow = msgDivOverflowMin;
msgBtn.value = "スクロールバーなし";
} else {
msgDiv.style.height = msgDivHeightMax;
msgDiv.style.overflow = msgDivOverflowMax;
msgBtn.value = "スクロールバーあり";
}
} catch(exception){ }
}
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-15 23:59
引用:

未記入さんの書き込み (2006-12-15 23:45) より:

height属性がうまくいったので、HTMLで使用する属性全てに対して使用できると勘違いしていました・・・。


使用できるできない以前に、HTML の要素と CSS を混同していること自体がまずいのでは?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
すひろ
大ベテラン
会議室デビュー日: 2006/10/17
投稿数: 124
お住まい・勤務地: 愛知県
投稿日時: 2006-12-16 23:38
引用:

じゃんぬねっとさんの書き込み (2006-12-15 23:59) より:
使用できるできない以前に、HTML の要素と CSS を混同していること自体がまずいのでは?


おっしゃるとおりです。勉強してきます。
1

スキルアップ/キャリアアップ(JOB@IT)