私は JQuery を学んでおり、画像を介して循環テキストを作成しようとしていますが、ボタン div (containermain) に問題があります。例は次のとおりです: http://jsfiddle.net/zAZst/7/ここで、最後の 3 つの画像はボタンであり、上の画像 (最初の 3 つ) には影響しません。画像 (最初の 3 つ) にカーソルを合わせると問題なく動作しますが、ボタン (最後の 3 つの画像) にカーソルを合わせると、スクリプトが壊れて動作しなくなります。スクリプトを修正して、ボタン (最後の 3 つの画像) にカーソルを合わせた場合に循環テキストに影響がないようにする方法を教えてください。ありがとう。
2 に答える
4
次の行があることがわかります。
$('img').on('mouseover', function() {
clearInterval(intervalId);
displayTitle($(this).parents('div').attr('id').substring(5));
}).on('mouseout', function() {
currentImg = $(this).parents('div').attr('id').substring(5);
startLoop();
})
これにより、ドキュメント内の「任意の」画像にマウスオーバーして循環を停止します。次のように、サイクル内の画像にクラスを追加できます
class="img_cycle"
次に、セレクターを挿入する javascript on() 関数の最初の行を次のように変更します。
$('img.img_cycle').on('mouseover', function() {
clearInterval(intervalId);
displayTitle($(this).parents('div').attr('id').substring(5));
}).on('mouseout', function() {
currentImg = $(this).parents('div').attr('id').substring(5);
startLoop();
})
お役に立てれば :)
編集:機能にいくつかのタイプミスをしました。JSFIddle の動作バージョンは次のとおりです: http://jsfiddle.net/zAZst/8/ :)
于 2012-06-25T10:31:40.227 に答える
3
問題は、mouseover および mouseout イベントのセレクターがボタンの画像と上部の画像に適用されることです。上部の画像にマウスを合わせると、直接の親の div が検索され、存在する id 属性が取得され、「部分文字列」を呼び出すことができます。ただし、ボタンの画像には、直接の親 div に id がありません。実際のエラーはUncaught TypeError: Cannot call method 'substring' of undefined
、存在しない div id で部分文字列を呼び出すことができないためです。
于 2012-06-25T10:28:58.690 に答える