メインウインドウの文章中の下の方にリンクをはって、そこからサブウインドウを開いています。実は少し前にatsuotaさんにご回答いただいたこの方法を利用しているのですが

<!--
function openWin1()
{
window.open("sub1.html","sub1","width=320,height=240");
}
function openWin2()
{
window.open("sub2.html","sub2","width=320,height=240");
}
-->

<a href="" onClick="openWin1()">sample1</a>
<a href="" onClick="openWin2()">sample2</a>

このsample1とか2がスクロールしなくてもよいくらいの位置にあればいいのですが、スクロールしているところで配置してあると、メインウインドウが毎回トップのあたりにずれてしまうのです。(特別な制御はしていないはずなのですが・・・)

おわかりになる方がいらっしゃいましたら教えてください。

A 回答 (3件)

追加ですが、以下のようにURLを引数でとるようにすれば、


一つのスクリプト呼ぶだけでウインドウ開き放題です。
あんまり勝手に違うウインドウ開かれると迷惑ですけどね。
-------------------------------------------------------
<html>
<head>
<script language="JavaScript">
<!--
function openWin(URL){
window.open(URL, "_blank", "width=320,height=240");
}
// -->
</script>
</head>

<body>
<a href="javascript:openWin('sub1.html')">sub1</a>
<a href="javascript:openWin('sub2.html')">sub2</a>
</body>
</html>
-------------------------------------------------------
    • good
    • 0
この回答へのお礼

なるほど。一度教えていただいた形でやってみたいと思います。いろいろ迷ったんですが、リストのページがありまして、そこに配置する・・って考えたときに外に出すしか場所がなかったんです。確かにあんまりいっぱいウインドウが開くと面倒ですよね。一応見たい方だけが開くようになっていればOKかなと思ってるんですが。いろいろと細部まで教えてくださってありがとうございました!!

お礼日時:2001/01/24 04:52

おそらく、


onClickのスクリプトで新しいウインドウは開くけどそれと同時に、
href=""
で現在のページを読みこみなおしているのでは、と思います。
(自分で試したらディレクトリ一覧が出てしまいました。)

リンクのところを以下のように書きなおしてください。

<a href="javascript:openWin1()">sample1</a>
<a href="javascript:openWin2()">sample2</a>
    • good
    • 0
この回答へのお礼

一度上記のように書き換えてテストしてみます!ありがとうございました!!!

お礼日時:2001/01/24 04:50

ブラウザは何のバージョンいくつを使用しての話ですか?



 IEの4.0x以降のブラウザなら、その様な現象になる様です。
 理由は解りませんので、対処方法は、ページ上の方に配置するか、フレームを切って、フレーム内に別Windowsを表示するJavaScriptを配置するしかないようです。
    • good
    • 0
この回答へのお礼

うちのブラウザはMacOSでIE5.0なのです。なるほどそういった原因が起こってしまう可能性があるんですね。。教えていただいてありがとうございます!

お礼日時:2001/01/24 04:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q

によって
onclickの動作をさせた後
<a name="z"></a>へのジャンプをさせようとしたのですが
onclickの動作だけがおこなわれジャンプ動作をしません
onclickで非表示の内容を表示させその表示された部分の特定の場所
にジャンプさせたいのです
何かいい方法はあるでしょうか?
よろしくお願いします

<a href="#z" onclick="document.getElementById('x').style.display='block';return false">
go to 99
</a>
<br/>
<br/>
<div id="x" style="display:none">
1<br/>
2<br/>
.............
99<br/>
<a name="z"></a>
</div>

Aベストアンサー

onclick=" "の中の return false の意味をわからず付けていると言うことでしょうか?
それは「ジャンプさせない」という指示なので、付けなければいいかと。

QIE6でmax-width:100px; max-height:100pxを実現にするには

BLOGでエントリーから画像だけを読み出しサムネイルを集めたhttp://www.photocase.com/photobrowser.aspのようなページを作ろうと考えています。
画像の大きさはまちまちなのでmax-width:100px; max-height:100pxとしました。
しかしmax/min-height/widthはIE6に対応しません。
そこで▼以下の2つを試してみました。
・max-width in Internet Explorer(IE独自のexpressionを利用)
 http://www.svendtofte.com/code/max_width_in_ie/
・minmax.js module(Java Scriptを利用)
 http://doxdesk.com/software/js/minmax.html
ただしこれらの使用方法に従って記載しても、max-width:100px; height:100px(縦長の画像は100px×100pxに)またはwidth:100px; max-height:100px(横長の画像は100px×100pxに)となってしまいます。
Java Script、CSS、または両方を使って解決できる方法がありましたら教えていただけませんでしょうか。
よろしくお願いいたします。

BLOGでエントリーから画像だけを読み出しサムネイルを集めたhttp://www.photocase.com/photobrowser.aspのようなページを作ろうと考えています。
画像の大きさはまちまちなのでmax-width:100px; max-height:100pxとしました。
しかしmax/min-height/widthはIE6に対応しません。
そこで▼以下の2つを試してみました。
・max-width in Internet Explorer(IE独自のexpressionを利用)
 http://www.svendtofte.com/code/max_width_in_ie/
・minmax.js module(Java Scriptを利用)
 http://doxdesk.com/soft...続きを読む

Aベストアンサー

#1です。

> これをサムネイルの表示をする時点でそれぞれ本来の縦横比率に表示する
> ことは難しいでしょうか。

これではどうでしょう。個々のサムネイルごとに修正をかけるので、少しはましかと……。

<html>
<head>
<style type="text/css"><!--
/* 100x100の領域だけ取って、表示しない。 */
img.thumb { visibility: hidden; width: 100px; height: 100px; }
/* ただし、これではスクリプトOFFだと全く表示されない。 */
--></style>
<script type="text/javascript"><!--
function func(img) {
/* 一旦縦横とも"auto"にして実寸を取得。長い方を"100px"に再設定。そして表示。 */
img.style.width = "auto";
img.style.height = "auto";
if (img.width > img.height) {
if (img.width > 100) img.style.width = "100px";
} else {
if (img.height > 100) img.style.height = "100px";
}
img.style.visibility = "visible";
}
--></script>
</head>
<body>
<p>
<img class="thumb" src="適当な画像1" onload="func(this)">
<img class="thumb" src="適当な画像2" onload="func(this)">
<img class="thumb" src="適当な画像3" onload="func(this)">
</p>
</body>
</html>

#1です。

> これをサムネイルの表示をする時点でそれぞれ本来の縦横比率に表示する
> ことは難しいでしょうか。

これではどうでしょう。個々のサムネイルごとに修正をかけるので、少しはましかと……。

<html>
<head>
<style type="text/css"><!--
/* 100x100の領域だけ取って、表示しない。 */
img.thumb { visibility: hidden; width: 100px; height: 100px; }
/* ただし、これではスクリプトOFFだと全く表示されない。 */
--></style>
<script type="text/javascript"><!--
function func(im...続きを読む

Q複数のfunctionをonclickで実行するには?

こんばんは。
複数のfunctionを実行するにはどうしたらいいんでしょうか?
後、追加でなんですが、areaにhref属性を使わず(#を指定すると、ページの上に戻ってしまうため)にポインタを指(リンクに乗せたときのやつです)にするにはどうすればいいんでしょうか?

インラインフレーム1
<script>
<!--
function change1(picname) {
parent.frames['インラインフレーム2'].document.getElementById("ID1").src = picname;
}
function change2(picname) {
parent.frames['インラインフレーム2'].document.getElementById("ID2").src = picname;
}
・・・
function change3(picname) {
parent.frames['インラインフレーム2'].document.getElementById("ID8").src = picname;
}
//-->
</script>
上のfunctionを複数実行したいんです。(全てではありません)
<map name="">
<area shape="rect" coords="0,0,0,0" alt="" onclick="change1('ファイル')">
・・・
<area shape="rect" coords="0,0,0,0" alt="" onclick="change8('ファイル')">
</map>

インラインフレーム2
<div style="position: absolute; top: 0px; left: 0px; z-index: 0;"><img src="ファイル" id=ID1 alt="" border="0"></div>
<div style="position: absolute; top: 0px; left: 0px; z-index: 1;"><img src="ファイル" id=ID2 alt="" border="0"></div>
<div style="position: absolute; top: 0px; left: 0px; z-index: 2;"><img src="ファイル" id=ID3 alt="" border="0"></div>
・・・
<div style="position: absolute; top: 0px; left: 0px; z-index: 8;"><img src="ファイル" id=ID8="0"></div>
どうでしょう?
自分なりに試してみたんですが、成功しませんでした。(onclickにいっぱいくっつけたりとか・・・)
どうかお願いします。

こんばんは。
複数のfunctionを実行するにはどうしたらいいんでしょうか?
後、追加でなんですが、areaにhref属性を使わず(#を指定すると、ページの上に戻ってしまうため)にポインタを指(リンクに乗せたときのやつです)にするにはどうすればいいんでしょうか?

インラインフレーム1
<script>
<!--
function change1(picname) {
parent.frames['インラインフレーム2'].document.getElementById("ID1").src = picname;
}
function change2(picname) {
parent.frames['インラインフレーム...続きを読む

Aベストアンサー

簡単にするために、まず、functionもまとめてしまいましょう。
現状では、画像のファイルパスが引数になっていますが、変更するエレメントの指定も引数にしてしまえば、以下のひとつで済んでしまいます。
function change0(idn.picname){
parent.frames['インラインフレーム2'].document.getElementById(idn).src = picname;
}
呼び出す側は onclick="change0('ID1','ファイル')" などとなります。

処理を2種類以上行いたい場合は、
 onclick="change0('ID1','ファイル1'); change0('ID2','ファイル2');"
などのようにしてあげればよいです。

他にもいろいろ方法は考えられるけれど、一例です。
(関係ないけど、質問文はいろんなところが全角文字だけど、
 それは質問文用ということですよね?)

Qhrefとonclickでのリンクの移動について

現在以下の用になっています。

<a href="sample1.html" onclick="other(sample2.html)">sample.html</a>

href= でsample1.htmlと指示しているのにかかわらず、onclick=other(リンク先)と記述しているのですが、どのようにすればonclick=だけを実行し、href=の方を無効にすればよいのでしょうか?

ちなみに、onclickのリンクの移動先は同じウェブページ内に設置されたiframeへの移動になっています。

Aベストアンサー

基本的にはonclickでfalseを返すことでリンクとしてのクリックを無効にすることができます。
<a href="sample1.html" onclick="other('sample2.html');return false">sample2.html</a>


また、otherという関数でfalseを返すようにすれば、以下のような記述も可能です。
<a href="sample1.html" onclick="return other('sample2.html')">sample2.html</a>


otherという関数でfalseを返すとはこういうことです↓

function other(*****){
/* 前からあるコード */
return false;
}

それからother(sample2.html)はother('sample2.html')の間違いでしょう。

Qa.href の href を有効か無効にする選択

<script language="JavaScript">
function fa(obja){
if(confirm())obja.href="a.html"
else{obja.href=eval("javascript:void(0)")
inp.value=0//↑がうまくいかない。hrefを無効にしたい。
}
}
function fb(objb){
if(confirm())window.location="a.html"
else{inp.value=0//↑がvoiv(0)によって無効で動作しない。
}
}
</script>
<a href=a.html>りんく</a><a href=javascript:voiv(0) onClick=inp.value=0>ばりゅ</a>
<br>↑と同じようなことを1つのaタグでやりたい<br>
<a href="" onClick=fa(this)>失敗A</a><br>
<a href=javascript:voiv(0) onClick=fb(this)>失敗B</a><br>
<input id=inp>

選択によってクリックのアクションを変更したいんだけど、
1方のアクションはリンク、もう1方はJavaScriptです。
ボタンとかならできるんだけど、クリック済みかを
色分けしたいからaタグでやりたいんです。
よい方法を教えてください。

<script language="JavaScript">
function fa(obja){
if(confirm())obja.href="a.html"
else{obja.href=eval("javascript:void(0)")
inp.value=0//↑がうまくいかない。hrefを無効にしたい。
}
}
function fb(objb){
if(confirm())window.location="a.html"
else{inp.value=0//↑がvoiv(0)によって無効で動作しない。
}
}
</script>
<a href=a.html>りんく</a><a href=javascript:voiv(0) onClick=inp.value=0>ばりゅ</a>
<br>↑と同じようなことを1つのaタグでやりたい<br>
<a href="" onClick=fa(th...続きを読む

Aベストアンサー

こんにちは。
問いの内容が掴みづらいですが、確認します。
「選択」とは、ダイアログで「OK」を選択したのか「キャンセル」を選択したのかという意味でよいですか。
 A__さんが添付したソースを注意深くみれば、そうだと思いますが、言われた瞬間では、「選択」というとラジオボタン(<input type="radio">)やプルダウンメニュー(<select>)の方が連想しやすいので。
で、どちらを押したかによって、ページをジャンプするか、ジャンプしないでJavaScriptを実行するか分岐するでいいのですか。そうであれば以下のサンプルはいかがでしょうか。

<html>
<head>
<script language="JavaScript">
function func()
{
  if(confirm("OKWEBに行きますか?"))
  {
     return true ;
  }
  var txt = document.formForJS.textForJS;
  txt.value="行きたくありません";
  return false ;
}
</script>
</head>
<body>
  <a href="http://www.okweb.ne.jp/" onclick="return func()">リンク</a>
  <form name="formForJS">
    <input type="text" name="textForJS" size="20" />
  </form>
</body>
</html>

ここでのポイントは、<a>タグのonclickにreturnをつけていること、あわせて、呼んでいる関数でtrue/falseを戻している(returnしている)ことです。
<a>タグのonclickがある場合、trueが戻ってきた場合は、本来のhrefで指定したURLにジャンプします。逆にfalseが戻ってきた場合は、ジャンプせず現在表示しているページのままでいます。
よって、関数内ではダイアログで「OK」が押されたらtrueを戻して終了、リンクジャンプさせます。一方、「キャンセル」が押されたらお好みのJavaScriptプログラムを起動させ、最後にfalseを戻して、ジャンプさせないようにします。

こんにちは。
問いの内容が掴みづらいですが、確認します。
「選択」とは、ダイアログで「OK」を選択したのか「キャンセル」を選択したのかという意味でよいですか。
 A__さんが添付したソースを注意深くみれば、そうだと思いますが、言われた瞬間では、「選択」というとラジオボタン(<input type="radio">)やプルダウンメニュー(<select>)の方が連想しやすいので。
で、どちらを押したかによって、ページをジャンプするか、ジャンプしないでJavaScriptを実行するか分岐するでいいのですか。そうであれば...続きを読む


人気Q&Aランキング

おすすめ情報