前回は、onMouseoverで文字にマウスを合わせると関連するimgが変わる。
というもを作りました。
皆様の助言やご指摘のおかげで完成致しました。
本当にありがとうございます。
今回は追加機能として、マウスを対象文字に合わせている間、関連するimgが点灯するというのを作りたいのです。
----------html-------------------------
<div id="mapimg">
<!-- 地図-->
<IMG id="myIMG1" src="../img/map/1f/map.jpg" width="433" height="469" border="0">
</div>
<a href="○○○" id="7map" onMouseover="return setInterval(Swap('myIMG1', '../img/map/1f/7map.jpg'),200);" onMouseout="return Swap('myIMG1', '../img/map/1f/map.jpg');" title="test">TEST</a><br>
----------javascript--------------------
function Swap(iID, img_url){
var myobj = document.getElementById(iID);
if(myobj.src == img_url){
myobj.src = "../img/map/1f/map.jpg";
}else{
myobj.src = img_url;
}
return false;
}
素人なりに考えて、「setInterval」を使って、一定の間隔で関数を呼び出し、元のimgと表示(点灯)imgを繰り返し表示すればいいと思ったのですが、上手く行きません。
どなたか助言をお願いいたします。
未熟者でソースが汚いのですが、お願いいたします。
No.1
- 回答日時:
点燈のために一定間隔で画像を切り替えるなんてすごいアイデアですね。
どうしても切り替えたいなら、マウスオーバーの時だけ点燈しているようなGIFアニメ画像に切り替えるとか。
それよりも、発想をかえましょう。
点燈はCSSのスタイル属性で実現できますよ。
アルファを変えて暗くしたり明るくしたりとか、
あるいは、1枚の画像を明るい部分と暗い部分に分け、表示する範囲を
スタイル属性で変えるとか...
アイデアは他にもあります。
早々のお返事ありがとうございます。
CSSのスタイル属性のアルファを変えて暗くしたり明るくしたりとかの方法もあるのですね。
色々方法がありそうなので、色々なアイデアで試してみます。
ありがとうございます。
No.2
- 回答日時:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<meta http-equiv="Content-Script-Type" content="application/javascript">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>TEST</title>
<body>
<div>
<img src="./img/0.gif" alt="aaaa" id="my" >
<a href="#" id="map7" onMouseover="image0.start(1)" onMouseout="image0.stop(0)">TEST</a><br>
<input type="text" id="v" size="80">
</div>
<script type="text/javascript"><!--
var ToggleImage = function () {
this.init.apply( this, arguments );
};
ToggleImage.prototype.init = function ( id, wait ) {
this.e = document.getElementById( id );
this.w = wait;
this.g = [ ];
this.c = 0;
this.t = null;
var cnt, obj;
for( cnt = 0; obj = arguments[ cnt + 2 ]; cnt++ ) {
this.g[ cnt ] = new Image();
this.g[ cnt ].src = obj;
}
return this.max = cnt - 1;
};
ToggleImage.prototype.start = function ( n ) {
if( 'undefined' !== typeof n ) this.c = n;
this.next( this.c );
if( this.t ) this.stop( );
return this.t = setInterval(
(function( that ) {
return function () { that.next(); };
})( this ), this.w );
};
ToggleImage.prototype.next = function ( n ) {
this.c = ( 'undefined' === typeof n ) ? this.c + 1: n;
if( this.c > this.max ) this.c = 0;
return this.e.setAttribute('src', this.g[ this.c ].src);
//this.e.src=this.g[ this.c ].src;
};
ToggleImage.prototype.stop = function ( n ) {
clearInterval( this.t );
if( 'undefined' !== typeof n ) this.next( n );
return this.t = null;
};
var image0 = new ToggleImage( 'my', 300, './img/0.gif', './img/1.gif', './img/2.gif' );
//ぜんかくくうはくは、はんかくにでもなおしてね。
//-->
</script>
ちょっとむずい
No.3
- 回答日時:
babu_baooちゃんのサンプルおもしろいですね。
スロットみたい。
注意としては、切り替える画像のサイズをみんな同じにしとくか、
表示する部分にwidthとheightを付けとか無いと、たいへんな事になります。
No.4ベストアンサー
- 回答日時:
さらにかいりょうしたじょ!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<meta http-equiv="Content-Script-Type" content="application/javascript">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>TEST</title>
<body>
<div>
<img src="./img/0.gif" alt="aaaa" id="my1" >
<a href="#" id="map1" onMouseover="image1.start(1)" onMouseout="image1.stop(0)">TEST</a><br>
</div>
<div>
<img src="./img/9.gif" alt="aaaa" id="my2" >
<a href="#" id="map2" onMouseover="image2.start(1)" onMouseout="image2.stop(0)">TEST</a><br>
</div>
<script type="text/javascript"><!--
var ToggleImage = function(d,w){
var c=0,t,o,m=0,g=[];while(o=arguments[2+m])(g[m++]=new Image).src=o;
this.start = function(n){h(n)||(c=n),this.stop(c),t=setInterval((function(_){return function(){_.next()}})(this),w)};
this.next = function(n){c=h(n)?c+1:n,document.getElementById(d).setAttribute('src',g[c*=c<m].src)};
this.stop = function (n){h(n)||this.next(n);t&&clearInterval(t),t=0};
function h(n){return'undefined'===typeof n}
};
var image1 = new ToggleImage( 'my1', 300, './img/0.gif', './img/1.gif', './img/2.gif' );
var image2 = new ToggleImage( 'my2', 200, './img/9.gif', './img/8.gif', './img/7.gif' );
//ぜんかくくうはくは、はんかくにでもなおしてね。
//-->
</script>
かいせつするまででもないけど、ふくすうのかしょに
ふくすうのがぞうを、ふくすうのたいみんぐでそれぞれ
できるじょ^^;
きっとだれかが、もっとこんぱくとにするじょ^^;
すごいです!!
ありがとうございます。
ソースを拝借して検証してみたところ、すごい!!の一言しかでてきません。
ソースの内容はちょっと難しいですが、おいおい理解していこうと思います。
本当に感謝いたします。
No.5
- 回答日時:
ていせいします
「かいりょう」を「かいあく」にでした。
がぞうのさいずかぁ~。きをつけます。
しつもんしゃのさんぷるにはしていがあったのでゆだんしてしまった。
しつもんしゃさんの、さんぷるの、こまかいことは、するーします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQueryでのドラッグアンドドロ...
-
Javascript初心者|jQueryの.va...
-
画像の表示位置
-
jQueryで同じクラス名のものを...
-
全部のサイコロをjavascriptで...
-
デフォルト非表示にしたい。【t...
-
clear機能を失わずにファイルア...
-
サムネイルにカーソルを合わせ...
-
bxsliderで最初に縦に複数表示...
-
VBAでIEを動かす場合、下記の①...
-
MAX関数を使ってからLEFT JOIN...
-
jspでcssが読み込めない
-
textareaに画像を表示したい
-
クリックで色変更後に既に変更...
-
JSPでの画像ファイル表示
-
Slick.jsのオプションrtlについて
-
クリックした<a>タグのみにClas...
-
画像を指定座標まで移動させたい
-
eclipseでcssを使うためには?
-
window.openで値の渡し方を教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
デフォルト非表示にしたい。【t...
-
jQueryで同じクラス名のものを...
-
Colorboxがうまく設置できません
-
Javascript初心者|jQueryの.va...
-
jQueryでのドラッグアンドドロ...
-
アップロードファイルの種類に...
-
embed要素のsrc属性の値を変更...
-
fancyboxのポップアップ時の画...
-
JQueryで画像の上で文字を動かす
-
一定時間で入れ替わるバナー画...
-
ボタンを押すたびに交互に切り...
-
交互に入れ替わる画像を複数配置
-
全部のサイコロをjavascriptで...
-
clear機能を失わずにファイルア...
-
JavaScriptが、Firefoxで動かな...
-
bxsliderで最初に縦に複数表示...
-
「画像クリックで音声再生」を ...
-
画像マウスオーバーで、checkb...
-
イラストのボタンを押したとき...
-
背景色と連動するスライドショ...
おすすめ情報