Layer shaken
Bernd
- javascript
hi, mit folgendem code kann ich das browserfenster schütteln.
----
netscape = (navigator.appName == "Netscape");
n4 = netscape && (parseInt(navigator.appVersion) >= 4);
explorer = (navigator.appName == "Microsoft Internet Explorer");
ie4 = explorer && (parseInt(navigator.appVersion) >= 4);
function shake(n) {
if (n4 || ie4) {
for (i = 10; i > 0; i--) {
for (j = n; j > 0; j--) {
self.moveBy(0,i);
self.moveBy(i,0);
self.moveBy(0,-i);
self.moveBy(-i,0);
}
}
}
}
----
ich möchte aber nur einen bestimmen layer schütteln, wie muss ich das script umbauen damit das funktioniert?
ich habs (ohne erfolg) so versucht:
----
document.GetElementById(layer).moveBy(0,i);
document.GetElementById(layer).moveBy(i,0);
document.GetElementById(layer).moveBy(0,-i);
document.GetElementById(layer).moveBy(-i,0);
----
wer kann helfen?
danke
Bernd
hi,
hi, mit folgendem code kann ich das browserfenster schütteln.
den meisten besuchern der seite dürfte es wesentlich lieber sein, wenn du dir stattdessen nur in ruhe zuhause einen von der palme ... aber ach, lassen wir das.
ich möchte aber nur einen bestimmen layer schütteln, wie muss ich das script umbauen damit das funktioniert?
ich habs (ohne erfolg) so versucht:
document.GetElementById(layer).moveBy(0,i);
moveBy() ist eine methode des window.objektes - aber nicht von irgendwelchen "layern" (du meminst vermutlich nicht das veraltete <layer> des NS4, sondern schlicht und einfach eine "ebene", also einen div o.ä.?)
dann könntest du diese ebene per CSS mit position:relative positionieren (ggf. auch absolute), und dann anschließend per javascript die koordinaten (top/left, oder auch bottom/right bzw. eine andere, für den browser verständliche kombination) dynamisch verändern.
das kannst du über das style-objekt von javascript erreichen.
gruß,
wahsaga
hi,
den meisten besuchern der seite dürfte es wesentlich lieber sein, wenn du dir stattdessen nur in ruhe zuhause einen von der palme ... aber ach, lassen wir das.
den meisten aber nicht allen...
moveBy() ist eine methode des window.objektes - aber nicht von irgendwelchen "layern" (du meminst vermutlich nicht das veraltete <layer> des NS4, sondern schlicht und einfach eine "ebene", also einen div o.ä.?)
nein, ich miene nihct das veraltete <layer> sondern eine "ebene" oder anders gesagt halt einen "layer", was ja eine ebene ist...
dann könntest du diese ebene per CSS mit position:relative positionieren (ggf. auch absolute), und dann anschließend per javascript die koordinaten (top/left, oder auch bottom/right bzw. eine andere, für den browser verständliche kombination) dynamisch verändern.
das kannst du über das style-objekt von javascript erreichen.
ok, dann versuch ich das mal so, danke
ps.: verstehe nicht warum leute mit mehr wissen als andere immer so von oben herab reden/schreiben müssen. (du meinst vermutlich "ebene"... ein layer ist eine ebene!)
aloso ich habs jetzt so:
function shake(n) {
for (i = 10; i > 0; i--) {
for (j = n; j > 0; j--) {
document.getElementById('phone').style.top = 0 +"px"
document.getElementById('phone').style.left = i +"px"
document.getElementById('phone').style.top = -i +"px"
document.getElementById('phone').style.left = 0 +"px"
}
}
}
aber jetzt springt der layer (ebene?) nur in die linke, obere ecke. also die schleife wird nciht mehr ausgeführt ;-(
woran liegts?
danke
Bernd
hi,
ps.: verstehe nicht warum leute mit mehr wissen als andere immer so von oben herab reden/schreiben müssen. (du meinst vermutlich "ebene"... ein layer ist eine ebene!)
tja, weißt du, was ich nicht verstehe?
dass leute, die erst wegen kleinigkeiten meinen meckern zu müssen,
woran liegts?
dann noch weitere hilfe erwarten.
ich hatte lediglich nachgefragt, um sicherzustellen, dass wir beide über das gleiche reden.
wenn dir das zu "von oben herab" ist, dann enthalte ich mich gerne weiterer äußerungen zu deinem problem.
gruß,
wahsaga
tja, dann habe ich das wohl falsch aufgefasst. für mich klang das halt etwas "von oben herab".
was das "noch weiter hilfe erwarten" angeht bin ich ja drauf angewiesen weil ich es allein nicht hinbekomme, das kling schade - ist aber so.
vielleicht kann sich ja noch mal jemand anderes meines problems annehmen und mir etwas unter die arme griefen. hier noch mal was bisher geschah:
ich habe hier ein javascript welches das fenster schüttelt.
netscape = (navigator.appName == "Netscape");
n4 = netscape && (parseInt(navigator.appVersion) >= 4);
explorer = (navigator.appName == "Microsoft Internet Explorer");
ie4 = explorer && (parseInt(navigator.appVersion) >= 4);
function shake(n) {
if (n4 || ie4) {
for (i = 10; i > 0; i--) {
for (j = n; j > 0; j--) {
self.moveBy(0,i);
self.moveBy(i,0);
self.moveBy(0,-i);
self.moveBy(-i,0);
}
}
}
}
jetzt wollte ich es so umbauen das es nicht das fenster, sondern einen DIV schüttelt, so hab ichs versucht:
function shake(n) {
for (i = 10; i > 0; i--) {
for (j = n; j > 0; j--) {
document.getElementById('phone').style.top = 0 +"px"
document.getElementById('phone').style.left = i +"px"
document.getElementById('phone').style.top = -i +"px"
document.getElementById('phone').style.left = 0 +"px"
}
}
}
jetzt springt der DIV aber nur in die ecke ohne sich zu schütteln. also die schleife greift nicht mehr. woran kann es liegen?
danke und gruß
Bernd
Hallo Bernd.
ps.: verstehe nicht warum leute mit mehr wissen als andere immer so von oben herab reden/schreiben müssen. (du meinst vermutlich "ebene"... ein layer ist eine ebene!)
Aber leider kann man des Namens wegen das veraltete <layer> mit dem Wort Layer missverständlich verwechseln. Darum lieber gleich DIV schreiben. ;)
Gruß, Ashura