”コンピューター家庭向け”のところでも質問したのですが、回答がないのでここで質問させていただきます。
HTML部分
<div class="galico">
<script language="javascript" src="poser.js"></script>
<a href="javascript:showgallery()">
<img src="../base/gallery.gif" alt="">
</a>
</div>
SSC部分
.galico {
z-index: 3;
position: relative;
top: 29px;
left: -200px;
}
javascript部分
function showgallery(){
if ( document.all )document.all('gallery').style.visibility ='visible'
else if ( document.layers )document.layers['gallery'].visibility ='show'
else if ( document.getElementById )document.getElementById('gallery').style.visibility ='visible'
}
この記述で、IE6では思った通りに動いてくれます。("../base/gallery.gif"をクリックするとjavascriptを実行してくれる。)
ところが、NN7.1では "../base/gallery.gif" に触れても、ステータスバーにjavascriptにリンクするように表示もされないし、クリックしても動きません。
なぜかSSCの "position: relative;" を "position: absolute;" にしてやると動くのですが。。。
なぜでしょうか。わかりやすく教えていただけないでしょうか。
No.2ベストアンサー
- 回答日時:
再現する為に数値を大幅に変えてます
<html>
<HEAD>
<META http-equiv="Content-Script-Type" content="text/javascript">
<SCRIPT type="text/javascript">
<!--
function showgallery(){
if(document.getElementById){
document.getElementById("gallery").style.visibility ='visible'
}
if(document.all){
document.all["gallery"].style.visibility ='visible'
}
if(document.layers){
document.layers["gallery"].visibility ='show'
}}
//-->
</SCRIPT>
</HEAD>
<BODY>
<div id="Layer1" style="z-index: 3;position: relative;top: 29px;left: 100px;">
<a href="#" onClick="showgallery()">
<img src="../base/gallery.gif" alt="">
</a>
</div>
<div id="gallery" style="z-index: 13;background-color: white;position: relative;top: 121px;left: 0px;width: 710px;height: 500px;visibility: hidden;text-align: left;">
<img src="../base/poservvc2.jpg" alt="">
<img src="../base/ggallery.jpg" alt="">
</div>
</BODY>
</html>
これをこのままコピペしてください
※ その他のものを付けずに とりあえず そのままで
そして実行してみてください
画像をクリックすると、画像が下側に2つ表示されるはずです
お望みの表示になると思います
NN4、IE6、NN7で検証済みです
そこから、元のHTMLに移植、数値の訂正を行ってください
その後、外部スクリプトにすれば問題の発見が早くなります
この回答への補足
原因が分かりました。
まったく的外れでした。
間違ったソースの記述をしていたわけではありませんでしたが、
NNでは<div></div>間に<img>を入れると div の横サイズが画面いっぱいに広がってしまいます。
それで div が下のレイヤーとと同色だったり、透明色だったりすると広がっているのが分からない。
だから "クリックイベントやリンクする img" の横に <div><img src="img1"></div> があると、
"クリックイベントやリンクする img"の上に
<div><img src="img1"></div> が覆いかぶさり、クリックできなくなっていました。
NNの場合は div の横サイズをきちんと指定してやらなければならないんですね。
回答ありがとうございます。
その間動作確認したら動いたので、その後移植したのですがやはり動きません。
かなりレイヤーを入れ子状にしているので、そこら辺でミスがあるかもしれないので、少しずつ削除して確認していこうと思います。
どこかのサイトで、NNは入れ子にしすぎるとうまく動作が難しくなるというのを見たことあるので、ほかの方法で作ることも考えています。
No.1
- 回答日時:
SSCじゃなくてCSSですね。
id="gallery"付近のHTMLとCSSも入れてもらえますが。
これだけだと、表示される部分がブラウザーをはみ出してるんじゃないかとしか思えないんですが。
この回答への補足
回答ありがとうございます。
HTML部分
<div class="galico">
<script language="javascript" src="poser.js"></script>
<a href="javascript:showgallery()">
<img src="../base/gallery.gif" alt="">
</a>
</div>
<div class="gallery" id="gallery">
<img src="../base/poservvc2.jpg" alt="">
<img src="../base/ggallery.jpg" alt="">
</div>
CSS部分(^^;
.galico {
z-index: 3;
position: relative;
top: 29px;
left: -200px;
}
.gallery{
z-index: 13;
background-color: white;
position: relative;
top: -1121px;
left: 0px
width: 710px;
height: 500px;
visibility: hidden;
text-align: left;
}
javascript部分
function showgallery(){
if ( document.all )document.all('gallery').style.visibility ='visible'
else if ( document.layers )document.layers['gallery'].visibility ='show'
else if ( document.getElementById )document.getElementById('gallery').style.visibility ='visible'
}
もともと全体を align="center" でセンタリングしているので、 left: -200px; でもブラウザからはみ出していません。
id="gallery"も、もともとはブラウザの上部から1300px位のところにあるので、はみ出していません。
分かりにくい説明ですみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アップロードファイルの種類に...
-
デフォルト非表示にしたい。【t...
-
jQueryで同じクラス名のものを...
-
オンマウスで画像表示+表示し...
-
一定時間で入れ替わるバナー画...
-
クリックでクリッカブルマップ...
-
時間差で画像を動作させたいjav...
-
全部のサイコロをjavascriptで...
-
IE6でmax-width:100px; max-hei...
-
clear機能を失わずにファイルア...
-
Javascript初心者|jQueryの.va...
-
MAX関数を使ってからLEFT JOIN...
-
javascriptで毎月替わる画像
-
HTMLで条件分岐はできますか?
-
HTMLですCSSです 画像のように...
-
Slick.jsのオプションrtlについて
-
スタイルシートで画面を上下に...
-
大分類・中分類・小分類
-
textareaに画像を表示したい
-
javascriptテキストBOX色を元に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Colorboxがうまく設置できません
-
デフォルト非表示にしたい。【t...
-
「画像クリックで音声再生」を ...
-
Javascript初心者|jQueryの.va...
-
jQueryで同じクラス名のものを...
-
複数bxsliderをタブで切り替え...
-
画像の表示位置
-
embed要素のsrc属性の値を変更...
-
JQueryでオープニングアニメー...
-
jQueryでのドラッグアンドドロ...
-
全部のサイコロをjavascriptで...
-
JavaScriptでクレイアニメ。ち...
-
bxsliderで最初に縦に複数表示...
-
アップロードファイルの種類に...
-
clear機能を失わずにファイルア...
-
JavaScriptでの画像切り替えを...
-
マウスカーソルに合わせて画像...
-
交互に入れ替わる画像を複数配置
-
サイトに横スクロールのスライ...
-
サムネイルにカーソルを合わせ...
おすすめ情報