0

私はjQueryに非常に慣れていないので、あなたが提供できるヘルプ/アドバイスをいただければ幸いです!

私はこれをjsFiddleで動作させました: http://jsfiddle.net/cakeeater/LUAtb/10/

基本的に、画像の上にカーソルを置いたときに「こんにちは」というテキストを置き換えるには、画像のタイトルが必要です。

jQuery().ready(function() { 
jQuery("#caption").text('Hello'); });
jQuery('img.gallery').mouseenter(function() { 
   var title = $(this).attr("title");
jQuery("#caption").text(title); });
jQuery('img.gallery').mouseleave(function() { 
jQuery("#caption").text('Hello'); });

ただし、サイトに配置すると、「Hello」テキストが機能する唯一の機能であり、ホバー時に画像のタイトルが表示されません: http://bit.ly/MNgdUS

おそらくスクリプトを作成するためのより良い方法があると確信しています... Firebug にエラーは見られず、サイト上の他のすべてのスクリプトを無効にしてみましたが、同じ結果が得られました。何か案は?

4

1 に答える 1

0

これはうまくいくはずです:

$(function() {
    "use strict";
    $("#gallerydescription").text("Hello");
    $("img.team").hover(
        function() {
            $("#gallerydescription").text($(this).attr("alt"));
        },
        function() {
            $("#gallerydescription").text("Goodbye");
        }
    );
});

を使用して.hover()

.hover() メソッドは、mouseenter イベントと mouseleave イベントの両方のハンドラーをバインドします。これを使用して、マウスが要素内にある間、単純に要素に動作を適用できます。

呼び出し$(selector).hover(handlerIn, handlerOut)は次の省略形です。

$(selector).mouseenter(handlerIn).mouseleave(handlerOut);

于 2012-08-22T21:07:49.783 に答える