私のコードでは、画像にカーソルを合わせると、その画像の上に「.pin_it」のクラスを持つ新しいリンクが作成されます。ユーザーがマウスを画像から離すと、.pin_it が非表示になります。ただし、新しい .pin_it の上にマウスを移動すると、表示されたままになります。
私はこれをすべて機能させました。問題は、マウスを .pin_it の上に置いた後、画像の外に移動すると .pin_it が非表示になるはずですが、そうではないことです。次に、ホバーして戻ると、別の .pin_it が追加されますが、マウスアウトの動作はまったく考慮されなくなります。
私は何を間違っていますか?
JS フィドル -> http://jsfiddle.net/kthornbloom/rKZK5/2/
コード:
$('img').hover(
function() {
var imgWidth = $(this).width();
var imgPosition = $(this).offset();
if(imgWidth > 300) {
$('body').append('<a href="#" class="pin_it">Pin It</a>');
$('.pin_it').css(imgPosition);
}
else {
// Do Nothing
}
}, function() {
var isHovered = $('.pin_it').is(":hover");
if (isHovered == true) {
//Do nothing
} else {
$('.pin_it').remove();
}
});