私の最初の傾向はそうです。特定のテキスト部分を<span>
にラップする必要があります(その周囲のテキストを除いて)。意味論的にも、それは最も理にかなっている。あなたは望みの効果と結びつけるのに使うことができるいくつかの種類のIDをスパンに与えなければなりません。
大雑把に、あなたのマークアップは次のようになります。
<p>This is your before your sample sentence. <span id="hover_1">This IS your sample sentence.</span> <span id="hover_2">This is yet another sample sentence.</span> This is after your sample sentence.</p>
<div id="images">
<img src="http://farm8.staticflickr.com/7171/6717705777_268acd6b2a_m.jpg" id="original" />
<img src="http://farm8.staticflickr.com/7014/6717705405_80e172b437_m.jpg" id="hover_1_pic" />
<img src="http://farm8.staticflickr.com/7144/6717706163_68e9b6f0d4_m.jpg" id="hover_2_pic" />
</div>
今、あなたは、いくつかのCSSをする必要があります:
span { background: yellow; cursor: pointer;}
#images img { display: none; }
#images #original { display: block; }
次に、あなたのjQueryのは、このようなものになります:
$('span').hover(
function(){
var thisId = $(this).attr('id');
$('#images img').stop().fadeOut('fast');
$('#' + thisId + '_pic').delay(300).fadeIn('normal');
},
function(){
var thisId = $(this).attr('id');
$('#' + thisId + '_pic').stop(true, true).fadeOut('fast',function(){
$('#original').stop(true, true).fadeIn('normal');
});
$('#original').stop(true, true).css('opacity', 1);
}
);
を
このページでどのくらいの数の文章を予定しているのか、またいくつのページがあるかわからないので、仕事をする必要がありますjQueryセレクタを少しスマートにすることについて。
ライブ、それを参照してください:http://jsfiddle.net/chippper/mMw5x/
が '' タグで、あなたの文章をラップは良いアイデアのように思えます。 ''タグにそれらを識別するためのクラスを与えることで、より簡単になります。 'data-attributes'を使ってどのイメージを表示するかを保存することができます:' これは非常に特殊な文です。 ' – Jasper
私はすでにそれぞれの文章を一意のスパンでラップしていますが、スパンに沿った画像のフォーマット方法はわかりません。私はdivのすべての画像を配置し、デフォルト以外のそれぞれを隠すことができると思っていた、そしてmouseoverイベントはその魔法を働かせますか? –
jsfiddle.netにコードを投稿できますか? –