idubn: Schütteleffekt

Beitrag lesen

Hallo,

Du kannst die Zeitabstände zwischen den einzelnen Durchläufen der Schleife mit setInterval() vergrößern, sodass man den Effekt besser sieht.

Quasi so?

function shake(id, strongness, dur)
{
  var origPos = document.getElementById(id).style.position;
  var origLeft = document.getElementById(id).style.left;

document.getElementById(id).style.position = "relative";

window.setInterval("document.getElementById('" + id + "').style.left = '" + -1 * strongness + "px';document.getElementById('" + id + "').style.left = '" + 1 * strongness + "px';", 10)
  window.setTimeout("window.clearInterval();", dur * 10);
  window.setTimeout("document.getElementById('" + id + "').style.left = '" + origLeft + "';document.getElementById('" + id + "').style.position = '" + origPos + "';", (dur + 2) * 10);
}

Funktioniert nicht. Nur am Ende (beim clearInterval()) sieht man wie das einmal hin- und herruckelt, und dann hört der Effekt auf. :(

Außerdem solltest du "1 * strongness" auf- oder abrunden, falls da mal keine Ganzzahl herauskommt.

Danke für den Tip, werd ich später ändern.
 Gruß, idubn