2010-08-19 46 views
21

Wie positioniere ich ein div neben einem Mausklick mit JQuery?Wie positioniere ich ein div neben einem Mausklick mit JQuery?

Dank

+1

Könnten Sie ein wenig mehr Einzelheiten hinzu? – XstreamINsanity

+0

@XstreamINsanity ... OK Ich habe eine Tabelle, und wenn Sie auf eine bestimmte Zelle klicken, lädt sie etwas in ein DIV. Ich möchte dieses DIV anzeigen, wo ich gerade geklickt habe. Lass mich wissen, ob das Sinn macht? – Nasir

+0

Möchten Sie die Mauszeigerposition anzeigen, wo Sie auf DIV klicken oder die Funktion ausführen, wenn Sie auf DIV klicken? – ppshein

Antwort

29

können Sie versuchen:

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

Nach weiteren Frage im Kommentar wurde gefragt:

$("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

Vielen Dank, eine Billion, es hat funktioniert ... Weißt du, wie ich die DIV-Anzeige aus diesem Tisch heraus stoppen kann? – Nasir

+0

Hier ist das Konzept Ich denke an: if ($ ('# DayInfo') außerhalb von $ ('# Ferien-Planer-table').) { Anzeige $ ('# DayInfo') mit minus Koordinaten } else {do ​​your code} – Nasir

+0

Betrachten Sie einen neuen Thread mit einer neuen Frage, die Ihr zusätzliches Problem beschreibt. –

0

Etwas wie:

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

Die Position des div sollte auf absolute gesetzt werden.

Verwandte Themen