2010-08-19 21 views
21

Jak ustawić pozycję div obok kliknięcia myszy przy użyciu JQuery?Jak ustawić pozycję div obok kliknięcia myszy przy użyciu JQuery?

Dzięki

+1

można dodać trochę więcej szczegółów? – XstreamINsanity

+0

@XstreamINsanity ... OK Mam tabelę i po kliknięciu pewnej komórki ładuje się coś do DIV. Chcę wyświetlić DIV, w którym właśnie kliknąłem. Daj mi znać, jeśli to ma sens? – Nasir

+0

Czy chcesz wyświetlić położenie wskaźnika myszy, gdzie klikniesz na DIV lub czy po kliknięciu na DIV? – ppshein

Odpowiedz

29

Można spróbować:

$("td").click(function(event) { 
    $("#divId").css({position:"absolute", top:event.pageY, left: event.pageX}); 
}); 

Po dodatkowym padło pytanie w komentarzu:

$("td").click(function(event) { 
    var div = $("#divId"); 
    div.css({ 
     position:"absolute", 
     top:event.pageY, 
     left: event.pageX}); 

    var delayTimer = setTimeout(function() { 
     $that.fadeIn("slow"); 
    }, 100); 

    div.mouseover(function(event) { 
    if (delayTimer) 
     clearTimeout(delayTimer); 
    }).mouseout(function(){ 
    if (delayTimer) 
     clearTimeout(delayTimer); 
    var $that = $(this); 
    delayTimer = setTimeout(function() { 
     $that.fadeOut("slow"); 
    }, 500)   
    }); 
}); 
+1

Wielkie dzięki, trylion, który zadziałał ... Czy wiesz, jak mogę powstrzymać DIV wyświetlania z tego stołu? – Nasir

+0

Oto pojęcie, o którym myślę: jeśli ($ ("# DayInfo") znajduje się poza $ ("# planer planu wakacyjnego")) { wyświetla $ ("# DayInfo") z minusem koordynuje } else {wykonaj swój kod} – Nasir

+0

Rozważ otwarcie nowego wątku z nowym pytaniem opisującym dodatkowy problem. –

0

coś takiego:

$('#cell').bind('click', 
    function(e){ 
     $('#div').css('left',e.pageX + 'px'); 
     $('#div').css('top',e.pageY + 'px'); }); 

pozycja div powinien być ustawiony na absolutny.

Powiązane problemy