画像をクリックしてディレクトリを変更したい

このQ&Aのポイント
  • Javascriptを使用して、画像をクリックすることでディレクトリを変更する方法を知りたい。
  • 日本語と英語のページを行き来できるようにするために、画像をクリックしてディレクトリを変更したい。
  • Javascriptの知識がないが、画像をクリックしてディレクトリを変更する方法を教えてほしい。
回答を見る
  • ベストアンサー

画像をクリックしてディレクトリを変更したい

Javascriptの知識はまったくないのですが、日本語のページと英語のページを双方行き来出来るようにしようと、色々調べて以下を使うと出来るという所まで辿り着きました。 <span id="link">(※)</span> <script language="JavaScript"><!-- url=window.location+""; url=url.replace("http://aaaaaaa.com/","http://aaaaaaa.com/en/"); document.getElementById("link").innerHTML="<a href=\""+url+"\">英語ページへ</a>"; --> </script> このままだと希望通りの動きをするのですが、これの「英語ページへ」の部分を画像にすると、画像は表示されず、Javascriptをオフの時に表示させるメッセージ部分が表示されてしまいます。 テキスト部分を以下に置き換えましたがダメでした。 <img src="http://aaaaaaa.com/images/language/jp.png"/> どうすれば画像を表示し、クリックしてディレクトリを移動する事が出来るのでしょうか? よろしくお願いいたします。

  • casin
  • お礼率88% (379/429)

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

>「英語ページへ」の部分を画像にすると、画像は表示されず もしかして、「英語ページへ」の部分に >「<img src="http://aaaaaaa.com/images/language/jp.png"/>」 をそのまま入れていませんか? そうだとすれば、文法違反で実行されないなどの影響かも。 その場合は、ダブルクォーテーションの中ではシングルクォーテーションにするとか、あるいはその逆にするとか。 質問文だけでは原因がよくわからないのと、ページの全体像も不明ですが、要素を生成したりせずにリンクはHTMLに最初から書いておいて、リンク先だけ書き直すようにすればもっと確実かと思います。  <a href="~~" id="link"><img src="~~" alt="~"></a> のようにしておいて、  document.getElementById("link").href = url; とすれば、リンク先だけを書き換えることになりますので、そのほかの部分は影響を受けないはずです。(当然ですが、idは一意になるようにしておいてください)

casin
質問者

お礼

早速の回答ありがとうございました。 おっしゃる通り、シングルクォーテーションに変更したら表示されるようになりました。 全体像を説明しますと、日本語のサイトがあり、その全てのページに英語に翻訳したページにリンクしているボタン画像を置きたいと考えていました。手作業でリンクを貼っても良かったのですが、もっとスマートな方法が無いかと探していました。 とりあえず1ページでしかテストしていませんので、上手く行かない場合は代案を使わさせて頂きます。 本当に助かりました。ありがとうございました。

関連するQ&A

  • 外部スクリプトファイルで表示した画像のサイズ変更

    時間ごとに違う画像を表示するスクリプトを外部ファイルとして設置し、複数のページで読み込みます。 <script language="javascript" src="○.js"></script> ただ、ページ毎で画像のサイズを変更したいのです。 ページAでは120×120で表示、ページBでは200×200で表示といった形です。 ページ毎のhtmlタグでの指定でできますでしょうか?

  • オンマウスで画像を別の場所に表示する

    過去ログで似たようなのがあったのですが、 全然わからなかったので、質問しました。 文字オンマウスで、画像を別の場所に表示したいのですが・・ (java~を使わなくてもよいやり方が知りたいです。 java~は使ったことがない初心者ですので。) ちなみに、画像オンマウスで文字を別の場所に表示するのは、 ↓このやり方(html)でできたんですが・・・ <span ID="msg">ここに表示される</span> <a href="ページURL"onMouseOver="msg.innerHTML='表示される文字'"onMouseOut="msg.innerHTML=''"><img src="画像URL" border="0"></a>

    • ベストアンサー
    • HTML
  • イベント編集による画像表示位置

    HPBでWebを編集する中でサムネイル画像を[イベント編集]で別ウインドウに表示させていますが、画像の表示位置を固定して設定するタグの書き方が判りません。下記のどの部分にどのように書き込めば良いのかお教えいただきたくお願いします。尚、OSは、Windows7です。 <script language="JavaScript"> <!--HPB_SCRIPT_CODE_40 function _HpbJumpURLinNewWindow(url) { if (url != '') { window.open(url, '_blank','width=450,height=670'); } } //--> </script> <script type="text/javascript" language="JavaScript"> <!--HPB_SCRIPT_CODE_40 function _HpbJumpURL(url) { if (url != '') { window.location = url; } } //--> </script>

  • HTMLからCGI (perl)の変更

    済みませんどなたか教えてください。 以下の文をHTMLで使用しているのですが。 CGI (perl)へ変更したいのですが宜しくお願いいたします。 <script language="JAVASCRIPT"> <!--var ID="123-abc";var AD=0;var FRAME=0;// --></script> <script language="JAVASCRIPT" src="http://○○○.com/l.j?id=123"></script> <noscript><A HREF="http://○○○.com/c.f?id=123"TARGET="_blank"> <IMGSRC="http://○○○.com/l.f?id=123-abc&url=X" BORDER="0"></a></noscript>

    • 締切済み
    • CGI
  • popup画像が消えてしまい表示されません

    これまではjavascriptを使い、サムネイル画像をクリックしたらサイズを指定した別の小窓に拡大画像を表示するように設定していたのですが、現在表示されなくなってしまいました。サーバー側にアップしたページのソースを見てみると、画像についてのタグの部分が完全に消えてしまっています。popup画像以外の貼り付けた画像はちゃんと表示されていますし、ローカルサイトでは全てがきちんと表示されます。 なお、ソースのhead内に以下のようなおかしな記述が出ていて、意味がわかりません。全てのページに出ています。 <script language="JavaScript"> <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> </script>

  • クリックすると次のリンクを

    javascriptはコピーでしか使用しないのですが、下記のようなことは可能でしょうか。 1.htm 2.htm 3.htm ・・・続く 上記を順に表示したいのですが。 <SCRIPT language=JavaScript> nextpage()"{ ★ここに何を書く? } </script> <A HREF="" onclick="nextpage()">次のページ</A>

  • 画像をクリックして別の画像を表示させたい

    現在HPで親ページから、サブウインドウで画像を表示させるアルバムを作っています。 そのサブウインドウをクリックすると別の画像を表示させたいと思い、下記のように記述したのですが、画像がまったく変わりません。 (下記のページはalbum01です。クリックしたら album02を表示させたいと思っています。) ----------------------------------------------- HEAD部に記述 <script language="JavaScript"> <!--num=0; function change() {num++; num %= 5; document.myIMG.src = "../img/album02.jpg"; } // --></script> BODY部に記述 <body> <table width="300" border="0" cellspacing="2" cellpadding="0"> <tr> <td> <a href="javaScript:change()"> <img src="../img/album01.jpg"name="album01"border="0"></a></td> </tr> <tr> <td> <div align="center">□画像をクリックすると、次の画像も見られます□</div> </td> </tr> </table> <div align="center"></div> </body> -------------------------------------------- 写真は全部で5枚です。今後増やしていきたいと思っています。 javascriptのことはわからないので、どこがどう間違っているのかわかりません。 表示されるようにするにはどのようにしたらいいですか? 使用OSはWin98、ブラウザはIE6.0です。 よろしくお願いします。

  • インラインフレームから別フレームの背景画像変更

    ○ページの構造 親ページ ├フレームA └フレームB - インラインフレームC ○インラインフレームC内ページ <script type="text/javascript"> <!-- function bgchange(bgname) { parent.A.document.body.background = bgname; } // --> </script> <span onclick='bgchange("img.gif");return false'>背景画像変更!</span> * インラインフレーム内の「背景画像変更!」クリックでAフレームの背景画像が変わるようにしたいのですが、 上のスクリプトだとAB間、B→C、でしか機能しません。どなたか手直しをして頂けないでしょうか?

  • 1つのファイルで画像をクリックしたら差し代わる方法

    表題のようにJavascriptで1つのhtmlファイルで複数の箇所に違う画像があり、それをクリックしたら別の画像に差し代わるということをしたいのですが、中々うまくいかずに困ってしまっています。 下記のようなソースになった場合にそれぞれ別の画像でクリックしたら違う画像に差し替えるには関数等の書き方はどのようにすれば宜しいのでしょうか。 どなたか教えてもらえますでしょうか? Javascript初心者にて失礼しますm(_ _)m 下記に途中までやったソースがあるのですが、行き詰ってしまってます。。。。。 宜しくお願い致します。m(_ _)m m(_ _)m ・・・・・・・・・・・・・ JavaScriptは下記の通りです。 //1つ目の画像に関係するJavaScriptです <script language="JavaScript"> num = 2; nme = "image/index"; exp = "jpg"; cnt = 0; function changeImage() { cnt++; cnt %= num; document.index.src = nme + cnt + "." + exp; } </script> //2つ目の画像に関係するJavaScriptです <script language="JavaScript"> num = 2; nme = "image/img"; exp = "jpg"; cnt = 0; function changeImg() { cnt++; cnt %= num; document.img.src = nme + cnt + "." + exp; } </script> htmlは下記の通りです。 <!--1つ目の画像です--> <a href="JavaScript:changeImage()"> <img src="image/index0.jpg" name="index" border="0"></a> <!--2つ目の画像です--> <a href="JavaScript:changeImg()"> <img src="image/img0.jpg" name="img" border="0"></a>

  • jump先を変更しても反映されない

    あるページPにリンクを設定しています。 <a href="http://www.**X.com/TEST" target="_blank">http://www.**X.com/TEST</a> TESTフォルダにはindex.htmのみ置いています。 TEST\index.htmの内容は以下の通りです。 <HTML> <HEAD> <TITLE>てすと</TITLE> </HEAD> <SCRIPT LANGUAGE="JavaScript"> <!--JavaScript function jump(){ location.href = "http://www.**A.com/"; } //end--> </SCRIPT> <BODY> <SCRIPT LANGUAGE="JavaScript"> jump(); </SCRIPT> </BODY> </HTML> この状態で TEST\index.htm の内容を location.href = "http://www.**B.com/"; に変更してページPのリンクをクリックしても、**B.comではなく、**A.comが開いてしまいます。 サーバ上で http://www.**X.com/TEST を開いても**A.comが開きます。 サーバにアップする前にLocalでテストするときちんと**B.comに飛びます。 原因と対策を教えてください。 現在はTEST1フォルダを作成し、ページPからTEST1フォルダにリンクを貼って回避しています。