プロが教えるわが家の防犯対策術!

WEB作成の際、CSSである画像をクリックするとページ内の別の場所にある画像が変わるようにするにはどのようにプログラミングすればよいのでしょうか?またjavascriptを使って画像の入れ替わりがゆるやかに変わるにはどうすればいいのでしょうか?

A 回答 (4件)

CSS(とHTML)だけで実現している例は1つだけ知っています。



http://c-brains.jp/blog/wsg/08/06/27-210059.php
    • good
    • 0

◆ 1)iframeを利用して通常のハイパーリンクで処理する


<a href="B.jpg" target="frm1"><img src="C.jpg" alt=""></a>
<hr>
<iframe name="frm1" src="A.jpg"></iframe>


◆ 2)javascriptで画像要素のsrcを変更
 (即時に画像が変わる)
<img src="C.jpg" alt="" onclick="document.getElementById('target').src = 'B.jpg'">
<hr>
<img id="target" src="A.jpg" alt="">


◆ 3)2)の応用で、画像の変更をゆっくりと行なう
(ちゃんと書くと面倒なので簡略版です)
ライブラリ等を使うともっと簡単に記せます。

<script type="text/javascript">
<!--
var change = function() {
if (change.flag) return;
change.flag = 1;
fade(100, -3);
};

function fade(o, d) {
var e = document.getElementById("target");
f();
function f() {
o += d;
var op = o>100?100:o<0?0:o;
if (o == op) {
setOpacity(e, op);
setTimeout(arguments.callee, 30);
} else {
if (change.flag != 1) return;
change.flag = 2;
e.src = "B.jpg";
fade(0, 2);
}
}
}

function setOpacity(e, o) {
/*@cc_on @if(1)
e.style.filter = "alpha(opacity=" + o + ")";
@else*/ e.style.opacity = o/100; /*@end@*/
}
//-->
</script>
<img src="C.jpg" alt="" onclick="change()">
<hr>
<img id="target" src="A.jpg" alt="">
    • good
    • 0

CSSでjavascriptを動作させるには、IE限定なら、A要素の疑似クラス(:hover,:active)


と behavior:プロパティで出来ますが、CSSでjavascriptを指定する必要性は、
ほとんどないですね(主に古いIEで、非サポートの機能を救うために使われる)

直接Javascriptでやってしまいましょう。
「入れ替わりがゆるやかに変わる」のような視覚効果は、初心者は難しいかも
しれませんが、「jQuery」のようなjavascriptライブラリーを使えば、簡便に
コードが書けます。

http://semooh.jp/jquery/api/effects/
http://api.jquery.com/category/effects/

例えば、ご要望の機能だと、こんな感じです。
<head>

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("jquery", "1.4");</script>
<script type="text/javascript">
$(function(){
$("#img1).click(function(){
$("#img2").fadeOut("slow");
$("#img2").attr("src","hoge.jpg");
$("#img2").fadeIn("slow");
});
});
</script>
</head>
<body>
---
<img id="img1" src="button.jpg" alt="画像切り替えボタン">
---
<img id="img2" src="fuga.jpg" alt"画像">
---
</body>
    • good
    • 0

>CSSである画像をクリックするとページ内の


>別の場所にある画像が変わるようにする
そういったソースを作るのはCSS内ではありません。htmlファイル内のソースに記述します。
普通に「ある画像」にハイパーリンクを設定して変えたい画像を呼び出すか、Javascriptを使うなどすればいいかと思います。

>画像の入れ替わりがゆるやかに変わる
これについては「javascript トランジション」で検索するといいのではないかと。
    • good
    • 0

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