難しい内容かもしれませんが、宜しくお願いします。
IE4 や NN4 で例えば以下の様に、
'lay'という名前のレイヤーを作成したとします。
<DIV ID='lay' STYLE='position:absolute'></DIV>
すると以下の様に、JavaScriptから文字列 htm をレイヤーに書き込めます。
//IEの場合
document.all('lay').innerHTML=htm;
//NNの場合
document.layers['lay'].document.open();
document.layers['lay'].document.write(htm);
document.layers['lay'].document.close();
そしてレイヤーのサイズも文字列 htm の内容に合わせて変化します。
しかし以下の様に、1度でもレイヤーをクリッピングした後に、
//IEの場合
document.all('lay').style.width=100;
document.all('lay').style.height=100;
document.all('lay').style.clip='rect(0,100,100,0)';
//NNの場合
document.layers['lay'].clip.left=0;
document.layers['lay'].clip.right=100;
document.layers['lay'].clip.bottom=100;
document.layers['lay'].clip.top=0;
このレイヤーをクリッピングする前の、
文字列 htm の内容に合わせてサイズが変化していた頃の状態に、
戻す方法が分からなくて困っております。
やっぱり無理でしょうか。
何の回答もないとサミシイので、わからなくても誰か返事してあげて下さい。
No.1ベストアンサー
- 回答日時:
IEでしか調べていませんが、rectにautoを指定するともとに戻るようです。
しかしここで言う”もとに戻る”は指定されているスタイルシート(レイヤー?)
の大きさに戻るという意味なので、
>document.all('lay').style.width=100;
>document.all('lay').style.height=100;
と指定されるとここに”戻る”ようです。
以下は私が書いたテストHtmlです。参考になれば幸いです。
<HTML>
<HEAD>
<TITLE>test</TITLE>
<SCRIPT Language="JavaScript">
<!--
function fn1(){
htm="testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest"
document.all('lay').innerHTML=htm;
}
function fn2(){
document.all('lay').style.clip='rect(0,100,100,0)';
}
function fn3(){
document.all('lay').style.clip='rect(auto,auto,auto,auto)';
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<DIV ID='lay' STYLE="position:absolute;background-color:#CCCCFF">
</DIV>
<BR><BR><BR><BR>
<FORM>
<INPUT TYPE="button" onClick="fn1()" VALUE="入力">
<INPUT TYPE="button" onClick="fn2()" VALUE="DoClip">
<INPUT TYPE="button" onClick="fn3()" VALUE="return">
</FORM>
</BODY>
</HTML>
参考URL:http://www.microsoft.com/JAPAN/developer/library …
凄いです!!
早速、IEで試してみると、
document.all('lay').style.width=0;
document.all('lay').style.height=0;
document.all('lay').style.clip='rect(auto,auto,auto,auto)';
で完全に元に戻りました。(凄すぎるぅぅぅ!!)
本当に本当にありがとうございました。
しかし、NNの方は auto を指定してもダメでした。
現在作成中のJavaScriptは、NNでも動作させたいので、
NNの方でご存知のお方は引き続きお待ちしております。
宜しくお願い致します。
No.2
- 回答日時:
参考にしていただいたようで良かったです。
少し気になったところと思いつたことが有ったので補足します。
クリッピングはレイヤーの表示する範囲を決めるだけなので、autoを使用しても、
元に戻る(クリッピングを解除する)と言うわけではなく、
auto(通常)の位置にクリッピングするだけだと思うんですね。
だからNNでも
>document.layers['lay'].document.write(htm);
を実行したとき、この時点のクリップの位置を(グローバル)変数に
取っておけば良いと思います。具体的には
hensu1=document.layers['lay'].clip.left;
hensu2=document.layers['lay'].clip.right;
hensu3=document.layers['lay'].clip.bottom;
hensu4=document.layers['lay'].clip.top;
hensu5=document.layers['lay'].clip.width;
hensu6=document.layers['lay'].clip.height;
って感じです。
こうすれば、後でいろいろクリッピングしても、戻したいときに
document.layers['lay'].clip.left=hensu1;
document.layers['lay'].clip.right=hensu2;
document.layers['lay'].clip.bottom=hensu3;
document.layers['lay'].clip.top=hensu4;
document.layers['lay'].clip.width=hensu5;
document.layers['lay'].clip.height=hensu6;
と指定すれば良いんじゃないかと思います。
この方法だとIEでも使えそうですね。
NNでは全くスクリプトを作ったことが無いので自信は有りませんが・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- その他(プログラミング・Web制作) Latexに関する質問です。 3 2023/05/23 10:18
- その他(プログラミング・Web制作) VS CodeでTEXファイルにPDF形式の図を挿入する方法 2 2023/01/19 11:56
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- 洋楽 steelixのlay it down という曲の雰囲気がすごく好きなのですが、同じような雰囲気の曲 1 2022/05/01 23:33
- 英語 高校英文法 現在分詞 with ones 現在分詞か過去分詞の見分け方 皆さんこんにちわ、上記の件で 2 2023/05/28 14:10
- TOEFL・TOEIC・英語検定 次の問の最も適当なものを選べ The woman( )the dictionary on the d 4 2023/01/25 15:13
- フリーソフト documentで接続を確立できないのですが、なぜでしょう 1 2022/10/29 11:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FireFoxのjavascriptで自動でキ...
-
LaTeX:数式を等号揃えにする方法
-
showModalDialogで開いた画面を...
-
DOM要素を削除しても、イベント...
-
重い処理とはどのようなものが...
-
Javascriptで定期的にF5を押す...
-
ラジオボタンでreadonlyの切替え
-
文字を一文字ずつ表示
-
Latexに関する質問です。
-
javascriptの基本的なことだと...
-
JavaScript window.openで開く...
-
compatModeとは?
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
onchangeイベントを使ってspan...
-
同じIDで定義した要素の配列を...
-
1日1回引けるJavaScriptおみく...
-
Click回数を数え、規定された回...
-
canvas上で画像を移動する方法...
-
C# .NET DataGridView の行を追...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
codejump 模写コーディングgall...
-
このjavascriptのif文、条件式...
-
文字を一文字ずつ表示
-
DOM要素を削除しても、イベント...
-
FireFoxのjavascriptで自動でキ...
-
Javascriptのhtml出力についてa...
-
excle VBA とweb上の検索を利用...
-
Null またはオブジェクトではあ...
-
webページ上のTabキーの動き
-
XMLでのAttributeを持ったNode...
-
JavaScript window.openで開く...
-
ブラウザのウィンドウサイズに...
-
javascriptのdocument.allにつ...
-
javascriptの基本的なことだと...
-
responseTextについて
-
showModalDialogで開いた画面を...
-
iframeのソースを取得したい
-
removeEventListenerの必要性
-
クリッカブルマップのリンク部...
-
ラジオボタンをクリックしたい
おすすめ情報