Necesito un cohete para seguir los movimientos del puntero del mouse en mi sitio web. Esto significa que debe girar para hacer frente a la dirección del movimiento, y si es posible, acelerar según la distancia que tenga que cubrir. ¿Esto es posible? jquery tal vez?Haz que una imagen siga el puntero del mouse
Respuesta
usando jquery para registrar .mousemove en el documento para cambiar la imagen .css hacia la izquierda y arriba en event.pageX y event.pageY.
el ejemplo como abajo http://jsfiddle.net/BfLAh/1/
actualiza para seguir lentamente
para la orientación, es necesario obtener el css css izquierda y superior actual y comparar con event.pageX y eventos. pageY, luego configure la orientación de la imagen con
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
para el spe ed, puede establecer la duración de la animación de jquery a cierta cantidad.
Ok, aquí es una simple caja que sigue el cursor:
<script type="text/javascript">
function getMouseCoords(e) {
var e = e || window.event;
document.getElementById('msg').innerHTML = e.clientX + ', ' +
e.clientY + '<br>' + e.screenX + ', ' + e.screenY;
}
var followCursor = (function() {
var s = document.createElement('div');
s.style.position = 'absolute';
s.style.margin = '0';
s.style.padding = '5px';
s.style.border = '1px solid red';
return {
init: function() {
document.body.appendChild(s);
},
run: function(e) {
var e = e || window.event;
s.style.left = (e.clientX - 5) + 'px';
s.style.top = (e.clientY - 5) + 'px';
getMouseCoords(e);
}
};
}());
window.onload = function() {
followCursor.init();
document.body.onmousemove = followCursor.run;
}
</script>
<div id="msg" style="width: 1000px; height: 1000px; border: 1px solid blue;"></div>
Haciendo que el resto es un caso sencillo de recordar la última posición del cursor y la aplicación de un forumula para obtener la caja se mueva que no sea exactamente donde el cursor es. Un tiempo de espera también sería útil si la caja tiene una aceleración limitada y debe alcanzar al cursor después de que se detenga. Reemplazar la caja con una imagen es simple CSS (que puede reemplazar la mayor parte del código de configuración para la caja). Creo que el código de pensamiento real en el ejemplo es de aproximadamente 8 líneas.
Seleccione la imagen correcta (use un sprite) para orientar el cohete.
Sí, molesto como el infierno. :-)
Aquí está mi código (no optimizado, sino un ejemplo de trabajo completo):
<head>
<style>
#divtoshow {position:absolute;display:none;color:white;background-color:black}
#onme {width:150px;height:80px;background-color:yellow;cursor:pointer}
</style>
<script type="text/javascript">
var divName = 'divtoshow'; // div that is to follow the mouse (must be position:absolute)
var offX = 15; // X offset from mouse position
var offY = 15; // Y offset from mouse position
function mouseX(evt) {if (!evt) evt = window.event; if (evt.pageX) return evt.pageX; else if (evt.clientX)return evt.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft); else return 0;}
function mouseY(evt) {if (!evt) evt = window.event; if (evt.pageY) return evt.pageY; else if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return 0;}
function follow(evt) {
var obj = document.getElementById(divName).style;
obj.left = (parseInt(mouseX(evt))+offX) + 'px';
obj.top = (parseInt(mouseY(evt))+offY) + 'px';
}
document.onmousemove = follow;
</script>
</head>
<body>
<div id="divtoshow">test</div>
<br><br>
<div id='onme' onMouseover='document.getElementById(divName).style.display="block"' onMouseout='document.getElementById(divName).style.display="none"'>Mouse over this</div>
</body>
El mejor ejemplo de trabajo para lo que necesito. ¡Muchas gracias! –
- 1. ¿Cómo se hace una imagen para seguir el puntero del mouse con jquery?
- 2. Mover el puntero del mouse en JavaScript
- 3. Hacer que el puntero del mouse se vuelva mano para hacer clic en el botón
- 4. alisar el movimiento del mouse
- 5. Haz que ReSharper siga usando el sistema; al optimizar los usos
- 6. ¿Cómo cambiar el puntero del mouse al puntero del dedo en el swing?
- 7. Cómo capturar la imagen de la pantalla con el puntero del mouse en Java
- 8. JavaScript ¿cómo cambiar el cursor del mouse a una imagen?
- 9. ¿Hay alguna manera de reducir el retraso de una guía que sigue al puntero del mouse?
- 10. X11: ¿Cómo agarro REALMENTE el puntero del mouse?
- 11. ¿Cómo hacer que el cursor del mouse agarre el mouse?
- 12. Cambiar el puntero del mouse cuando se llama ajax
- 13. Android: Seguimiento del movimiento del puntero del mouse
- 14. Mientras se desplaza sobre una etiqueta, el puntero del mouse se cambia a la mano
- 15. Mover la imagen del enlace 5px al pasar el mouse
- 16. Haz clic en una imagen, consigue las coordenadas
- 17. Java - Desplazar imagen arrastrando el mouse
- 18. Haz que una div ocupe todo el espacio vertical disponible?
- 19. ¿Cómo se hace que una imagen siga a su dedo en Objective-C?
- 20. ¿Cómo obtener la posición del puntero del mouse con javascript para Internet Explorer?
- 21. ¿Cómo cambio una imagen al pasar el mouse sobre WPF?
- 22. ¿Cómo oscurecer una imagen al pasar el mouse?
- 23. Liberando la captura del mouse y dejando que el clic del mouse pase
- 24. clics del mouse SeaDragon
- 25. jquery demora que se siga un enlace
- 26. Cómo asegurarme de que una aplicación siga ejecutándose en Linux
- 27. ¿Cómo hago que JScrollPane scroll siga el enfoque de entrada?
- 28. Cómo evitar que apache http client siga una redirección
- 29. ¿Cómo hacer que github siga el historial del directorio después de cambiar el nombre?
- 30. ¿Cómo animarías algo para que siga una curva?
Por favor, abstenerse de utilizar molestias por el estilo en un sitio web a menos que sea un juego. – ThiefMaster
Es posible ... – qwertymk
No necesita jQuery para eso. Necesita obtener las coordenadas del cursor (observe el evento mousemove) y coloque su imagen en consecuencia. En cuanto a la aceleración y la orientación, se pueden encontrar usando forumalae aplicada a la posición actual del cursor en relación con la anterior. La orientación puede ser un problema en los navegadores que no son compatibles con las propiedades modernas de CSS, es posible que necesite una serie de imágenes en diferentes orientaciones y utilice la más cercana. – RobG