2011-10-27 29 views
13

öğesinin yanında bulunan işlev Fare, bir tablo kafası öğesinin yakınındayken bir araç ipucu izlemek ve göstermek istiyorum. mouseenter olay ile çalışır, ancak yakınlaştığı zaman mouseenter önce araç ipucu göstermek istiyorum. Ayrıca, araç çubuğunu mouseout'dan sonra masa kafasından biraz uzak bırakmak istiyorum.Fare jQuery

Bu benim kodum.

$('thead').mouseenter(showtooltip); 
$('thead').mouseout(removetooltip); 

Bunu jQuery ile nasıl yapabilirim?

+7

bütün tarafları, marjlar ve dolgu üzerinde div marjlarını ver nesnenin parçası olarak sayılır aslında 'div' girmeden önce. – Ryan

+1

Veya, hedef div üzerinde konumlandırılmış daha büyük bir şeffaf div oluşturun ve olay işleyicilerini bu görünmez div üzerinde ayarlayın. – nrabinowitz

+0

Teşekkür ederim ryanOptini. Masa başı için yapmak istiyorum. div için değil –

cevap

26

Bu çalışır. İlk parametre herhangi bir jQuery nesnesi olabilir. İkinci parametre, nesneye yakınlıktır, bu durumda 20px.

Demo: http://jsfiddle.net/ThinkingStiff/Lpg8x/

Senaryo: marj üzerinde fare o zaman ipucu görürsünüz eğer öyleyse

$('body').mousemove(function(event) { 

    if(isNear($('thead'), 20, event)) { 
     //show your tooltip here 
    } else { 
     //hide it here 
    }; 

});   

function isNear(element, distance, event) { 

    var left = element.offset().left - distance, 
     top = element.offset().top - distance, 
     right = left + element.width() + 2*distance, 
     bottom = top + element.height() + 2*distance, 
     x = event.pageX, 
     y = event.pageY; 

    return (x > left && x < right && y > top && y < bottom); 

}; 
+1

Bu çözüm oldukça CPU-heavy gibi görünüyor – medonja

İlgili konular