• 締切済み

複数の透過GIFイメージを重ねて一枚のイメージを作るには??

複数の透過GIFのイメージを用いて一枚のイメージを作ろうとしているのですがうまくいきません。 輪郭と目と口と鼻の透過GIFを用意しました。 Javascriptを使ってクリックするごとに各イメージを重ね合わせようとしました。 document.イメージ.src="イメージファイル名" ではすべて書き換えになってしまいます。 重ね合わせるにはどうしたらよいか教えてください。 よろしくお願いします。

みんなの回答

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

No4459844の回答例を見ていただければわかりますように、CSSで position:absoluteを指定しておくことで、表示位置の指定が可能になります。 (回答例のdivの部分を画像だと考えて、みてください) 2つ以上の画像を、重なるように位置指定すればよいはずですが? 重ねる場合は、必要に応じてz-index:も指定しておいた方が良いかもしれません。 >document.イメージ.src="イメージファイル名"ではすべて書き換えになっ >てしまいます ↑は指定した画像を、別の画像に置き換える処理ですので、当然その画像は置き換わります。 一部だけ入れ替える命令ではありませんし、そのような命令はありませんので、どうしてもこの方法でやりたい場合は、"イメージファイル名"で指定した画像を、重なった状態の画像にしておけばよいのでは? 画像を入れ替える以外の方法として、画像の表示/非表示を切り替えるという方法もあります。(前回の回答例はその方法) 最初から画像を重ねておいて、非表示にしておいて、後で表示するという方法です。 CSSのdisplay:block/none を利用することで表示の切替えが可能です。 また、台紙も同様に切り分けておけば、必ずしもクリッカブルマップにしなくても、onclickの処理だけでもできそうですね。(どちらでも良いですけど) ちなみに、福笑いみたいに、乗せる画像の位置を制御したりすることも可能です。 がんばってください。

shiryo26
質問者

お礼

ご丁寧にありがとうございます!! クリッカブルマップもをもちいてなんとか自分の思っていた通りに動かすことができました!!

全文を見る
すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

スタイルシートで位置の重ね合わせをしてください

shiryo26
質問者

お礼

ありがとうございます。 なんとか解決できました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 透過gifができません

    調べたのですが分からないので質問させていただきます。 photshop elements2.0を使っているのですが透過できません。 ヘルプを見たのですが、同じようにできません。 ちがう種類のphotoshopのやり方で、やってみたのですが、 イメージ→モード→インデックスカラー→背景を塗る →ファイル→データーの書き出し、としていくのですがデーターの書き出しがクリックできないようになっているので先に進めません。 絵はcorel painterでかいたのを開いています。 うまくgifできないのではなくそこまでも進みません。 どなたかご存知の方がいましたら、宜しくお願いします。

  • 1*1の透過gifを別画像に変更する方法

    アマゾンWEBサービスを使ってデータをアマゾンからとってくるプログラムを書いています。 アマゾンで商品画像が用意されていないやつは1*1の透過gifへのリンクが張られています。 この透過gifを自作の"NO IMAGE"のgif画像にjavascriptで変更したいのです。 下記のようなスクリプトがあったのでこれを利用しようとおもってるのですが、どうもclass="side"をいれると正常に動作しないのですがなぜでしょう? このCSS記述がなければ正常に動作するのですが、これはわけあってはずすことができません。 ---------------------------------------- <img src="商品画像のURL" onload="replaceImage(this)" class="side" /> ---------------------------------------- ---------------------------------------- function replaceImage(img) { if (img.width == '1' && img.src.match(/\.01\./)) { img.src = 'img/no_img.gif'; } else if (img.width == '1') { img.src = img.src.replace('.09.','.01.'); } } ---------------------------------------- どなたか、良い解決方をご教授いただけますようお願いいたします。

  • エクセルと透過GIF

    CADデータ(平面図でモノクロ)を透過GIFに変換して、 エクセルの挿入→図→ファイルから貼り付けて印刷すると 貼り付けた透過GIFが黒い部分と赤っぽい黒で印刷されます。 それと、ぼやけた感じがします。 透過GIFにしないと問題なく黒で印刷出来ます。 会社に複数のパソコンがあり(OSはXP、ME、98SE)で試して 見ましたが同じ現象になります。 解消方法を教えて下さい。 宜しくお願い致します。

  • 携帯でGIFアニメーションが正しく表示されません

    携帯でGIFアニメーションを実現したいのですが、パソコンのブラウザで確認した場合問題なく動作するのですが、携帯のブラウザで確認した場合にGIFのイメージが「logo1.gif」から次のイメージに再表示されません。 携帯のキャリアはドコモで試しています。 以下にプログラムを貼り付けます。 間違っている点がありましたらご教授願います。 ---------------------------- ソース ---------------------------- <html> <head> <title>アニメーション/JavaScript</title> <script type="text/javascript"> <!-- var image1=new Image(); image1.src="image/logo1.gif"; var image2=new Image(); image2.src="image/logo2.gif"; var image3=new Image(); image3.src="image/logo3.gif"; var timerID; function change() { clearTimeout(timerID); if(document.anime.src==image1.src) document.anime.src=image2.src; else if(document.anime.src==image2.src) document.anime.src=image3.src; else document.anime.src=image1.src; timerID=setTimeout("change()",500); } //--> </script> </head> <body onLoad="timerID=setTimeout('change()',500)"> <img src="image/logo1.gif" name="anime" width="50" height="50" alt="アニメ"> </body> </html> ---------------------------- ソース ----------------------------

  • 透過ソフトでGIFファイルなのに読み込めない

    Giamやかんたん透過くんを使って透過色設定をしようとすると、GIFファイル形式なのに読み込めるものと読み込めないものがあります。 具体的には、読み込めないファイルをかんたん透過くんに読み込もうとすると「{エラー}himawari.hmw(50行目):○○○(ファイル名)が読み込めません」とでます。 読み込めるものとエラーが出るものの違いとは何なのでしょうか。どうすれば読み込めるようになるのか教えてください。ちなみに画像はペイントを使って作っています。

  • PaintShopPro7Jの透過gifの

    PaintShopPro7Jを使っているのですが、透過gifの仕方について教えてください。 透過したいファイルを開き、 [ファイル]⇒[エクスポート]⇒[GIFイメージ]を開き GIFイメージのエクスポートという画面で、 左側に[非圧縮時]、右側に[圧縮時]というのが表示されますよね。その時<次の色に合致する領域>に印をつけると、左側には表示されるのですが、右側には表示されないんです。(背景を透明にした時のあのグレーのチェック柄だけが表示される) 何故なのでしょうか? 初心者なので、できれば詳しくお願い致します。

  • 画像クリックで画像変化を1ページに複数表示

    どのJavaScriptサイトにも記載されていなかったので、こちらでお尋ねします。どなたかご存知だったら、教えてください。 changeImageと<a href=""></a>を使って、クリックして画像を変えるっていうのをやっているのですが、同じページでの複数表示のやり方がわかりません。 それと、2つの画像を変化させて、他のアイコンを作ってそこを押すと元の画像に戻るというのは、可能でしょうか? 4つ画像を用意して、2つまでしか画像変化できないようにさせて、取り消しアイコンで元の画像に戻す・・・ということがやりたいのですが。 今はこんな感じの記述ができています。 <SCRIPT type="text/javascript"> function changeImage() { var imgname = document.images[0].name; if(imgname == "01"){ document.images[0].src = "02.gif"; document.images[0].name = "02"; } else { document.images[0].src = "01.gif"; document.images[0].name = "01"; } } </SCRIPT> </head> <body> <a href="JavaScript:changeImage()"> <img src="01.gif" name"01" border=0></a>

  • 同一ページ内にスワップイメージを複数セット設置したい

    はじめまして。 カラーミーというショップシステムを使ってネットショップを作っています。 その中で作品ごとに色々な角度で見れるようなギャラリーページのようなものを作っています。 下のサイトと同様な動きです。 http://shailoh.co.jp/pg.html 単一のスワップイメージはできたのですが 同一ページ内に同様の処理を行うスクリプトを複数セット配置する方法がわかりません。 あまり詳しくないので単純にIDを振り分ければいいのかと思っていたのですが 処理がかぶっているせいか動きませんでした。 どなたかお分かりになる方がいたら教えていただきたいです。 ---HTML記述----------------------------------------------------------------- <img src="imgs/01/01.gif" width="480" height="320" id="image"/> <BR><BR> <img src="imgs/01/01_s.gif" width="50" height="50" onmouseover="SwapImage('imgs/01/01.gif');"/> <img src="imgs/01/02_s.gif" width="50" height="50" onmouseover="SwapImage('imgs/01/02.gif');"/> <img src="imgs/01/03_s.gif" width="50" height="50" onmouseover="SwapImage('imgs/01/03.gif');"/> <img src="imgs/01/04_s.gif" width="50" height="50" onmouseover="SwapImage('imgs/01/04.gif');"/> ---Javascript記述----------------------------------------------------------------- // スワップイメージ function SwapImage(img) { obj = document.getElementById("image"); obj.src = img; } // イメージ画像の初期化 function DefaultImage() { obj = document.getElementById("image"); obj.src = '../imgs/01/01.gif'; clearTimeout(timer); } --------------------------------------------------------------------------------- 上記のHTML記述部分を1セットとして複数同じようなものを作りたいのです。 処理は全て同じで、サムネごとにスワップ先を変えることはできないのでしょうか。 カラーミーの仕組み上、フリーで使えるページ数を抑えなくてはいけないので 作品ごとにページを振り分けることができず困っています。 色々調べたのですが分かりませんでした。 どなたかお分かりになる方がいたらアドバイスをお願いいたします。

  • NNでロールオーバーしたgifアニメの動きがおかしい

    ホームページを作成し、onmouseするとメニューのアイコンが gifからgifアニメに切り替わるようにしています。 IE6.0とNN7.1で動作確認しているのですが、 NNの方で、画像は切り替わるのですがgifアニメが うまく動きません。IEでは問題なく動作します。 gifアニメは文字の色が順番に変わるアニメーションなのですが、 onmouseするとアニメーションの最後の画像が表示されるだけでうまく動きません。 プログラムの組み方が悪いのか、gifアニメが悪いのか、 NNが悪いのかわからず困っています。 <head>と</head>の間↓ <script language="JavaScript"> <!-- if(document.images){ a1=new Image(); a1.src="image/b_top_m.gif"; a2=new Image(); a2.src="image/b_top.gif"; } else{ a1="" a2="" b1="" b2="" document.a="" } --> </script> <body>と<body>の間↓ <a href="top/top_frame.html" target="mid" onMouseover="document.a.src='image/b_top_m.gif'" onmouseout="document.a.src='image/b_top.gif'"> <img src="image/b_top.gif" border="0" alt="top page" name="a"></a> &nbsp;<a href="gal/gal_frame.html" target="mid" onMouseover="document.b.src='image/b_gallery_m.gif'" onmouseout="document.b.src='image/b_gallery.gif'"> <img src="image/b_gallery.gif" border="0" alt="works" name="b"></a> まだ初心者でJavaScriptについてはよくわかりません。 ちなみに、1つ「"」を抜いてエラーにするときちんと動いたりします(-_-;) よろしくお願い致します。

  • スワップイメージとロールオーバーの組み合わせで…

    上の画像をクリックした時に下の画像が切り替わるページを 作ったのですが、上の画像をmouseoverで切り替えるのではなく、 マウスを動かしてもクリックしたら下の画像と連動して上の画像も 切り替えることってできますか?? javascriptは初心者で、まったくわからずです(>-<) <SCRIPT LANGUAGE="JavaScript"> function doPic(imgName) { stepOn = ("" + imgName); document.step.src = stepOn; } </script> (中略) <a href="javascript:doPic('step1.gif');"><img src="img1.gif" name="img" border="0" onmouseover='this.src="r_img1.gif"' onmouseout='this.src="img1.gif"'></a> <a href="javascript:doPic('step2.gif');"><img src="img2.gif" name="img" border="0" onmouseover='this.src="r_img2.gif"' onmouseout='this.src="img2.gif"' ></a><br> <img name="step" src="step1.gif"> ↑こんな感じで作っております<(_ _)>