Voglio che il mio dropdown di bootstrap sia posizionato nella posizione del mouse. Per qualche ragione la pagina X e la pagina Y sono sbagliate. Per correggere la posizione devo aggiungere o sottrarre da xe y. MA, se poi eseguo lo zoom avanti o indietro, X e Y sono di nuovo errati. Ho provato tutto là fuori. Questo è uno di loro ..menu di avvio a discesa di avvio JavaScript nella posizione del mouse
Html:
<div class="dropdown">
<div id="menuitems" onclick="setposition(event)" class="dropdown-toggle" data-toggle="dropdown">
Menu
</div>
<ul class="dropdown-menu" id="xxx" role="menu" aria-labelledby="menuitems">
<li role="presentation"><a role="menuitem" tabindex="-1" href="#"</i>Link 1</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#"</i>Link 2</a></li>
</ul>
</div>
Script
function setposition(e) {
var bodyOffsets = document.body.getBoundingClientRect();
tempX = e.pageX - bodyOffsets.left;
tempY = e.pageY;
$("#xxx").css({ 'top': tempY, 'left': tempX });
}
Cosa devo fare per ottenere corretta posizione X e Y con diverse risoluzioni ?
Grazie
Grazie. Ho trovato un altro problema. Il mio contenitore ha margine: auto che centra tutto il contenuto. Per qualche motivo questo interferisce con le coordinate della posizione del mouse, (fornisce cavi errati e posizioni diverse durante lo zoom). Qualsiasi modo per aggirare questo o sono costretto a non centrare il mio contenuto (lol); D? – Reft
Va bene, ho capito. Avevo un elemento padre con margine: auto, che centrava il sito web completo. Ho dovuto prenderlo in considerazione e aggiungerlo alla mia X e Y. Ecco una buona spiegazione: http://stackoverflow.com/questions/16479179/js-pagex-and-pagey-take-the-coordinate -plus-the-margin-di-relativa posizione-div – Reft