Mousehandler und dyn. Positionierung von div's im Mozilla
am 07.12.2010 - 22:37 Uhr in
Hallo Drupaler,
folgendes Problem stellt sich mir:
Ich möchte ein 'Rolling Eye' auf einem Theme haben (hier admire_grunge).
Nachdem ich im Core keinen Handler für die MouseMoves gefunden habe, binde ich eine entsprechende js-Datei im template.php ein.
:
....r website to rate this theme and see our Ppremium Themes.
drupal_add_css(path_to_theme() . '/css/eye.css', 'theme', 'all');
drupal_add_js(path_to_theme() . '/js/eye.js', 'theme');
:
if (is_null(theme_get_setting('admire_grunge_feed_url'))) {
global $theme_.....
:In der eye.css ist deklariert:
#iris
{
position: absolute;
top: 120px;
left: 120px;
z-index: -1;
}Die eye.js enthält folgenden Code:
//Browser Sniffer
var ns4up = (document.layers) ? 1 : 0;
var ie4up = (document.all) ? 1 : 0;
var mozup = (!document.all && document.getElementById) ? 1 : 0;
var ymouse=0, xmouse=0;
// Capturing MouseMove
function handlerMM(e)
{
xmouse = (ns4up || mozup) ? e.pageX : event.clientX;
ymouse = (ns4up || mozup) ? e.pageY : event.clientY;
moveAt( xmouse, ymouse );
}
if (ns4up)
{
window.captureEvents(Event.MOUSEMOVE);
window.onMouseMove = handlerMM;
}
if (ie4up || mozup)
{
window.document.onmousemove = handlerMM;
}
function moveAt(moveAtX, moveAtY)
{
var element = document.getElementById("iris");
element.style.top = moveAtY;
element.style.left = moveAtX;
element.innerHTML = "<p>" + moveAtX+ "/" + moveAtY+ "</p>";
return true;
}Im page.tpl.php zwischen dem div 'preload' und dem div 'top_bar' steht mein 'Ich-wander-herum'-div.
:
<div id="iris"></div>
:Resultat:
Die Koordinaten werden wunderbar (wenn auch nicht in 100% der Fälle, aber sehr oft!) in das div 'iris' reingeschrieben, bloss das Element selber bewegt sich nicht mit dem Mauszeiger! Nur wenn man an den oberen bzw. linken Rand kommt, springt das Element an die 0 Position der jeweiligen Achse, bis es schliesslich gaaaaaaanz oben links landet!
Gibt es andere Möglichkeiten Elemente zu bewegen? Was blockt das verschieben? Geht das überhaupt unter Drupal?
Wäre schön, wenn jemand eine Idee hat.
Banzai
PS: Habe gerade festgestellt, dass der Effekt nur im Mozilla 3.6.x auftritt. Im IE 8 funktioniert es!
PSS: Hat sich erledigt und interessiert hat es anscheinend auch niemanden
- Anmelden oder Registrieren um Kommentare zu schreiben

Neue Kommentare
vor 2 Tagen 5 Stunden
vor 2 Tagen 21 Stunden
vor 8 Wochen 1 Stunde
vor 8 Wochen 20 Stunden
vor 8 Wochen 1 Tag
vor 8 Wochen 5 Tagen
vor 8 Wochen 6 Tagen
vor 9 Wochen 3 Tagen
vor 9 Wochen 3 Tagen
vor 9 Wochen 3 Tagen