flüssiges div verschieben mit javascript

  • hallo leute.
    hab mal wieder ne frage. mein problem ist folgendes. ich möchte gerne eine <div> mit inhalt verschieben.
    ich habe das ganze bisher immer so gelöst:

    Code
    function verschieben(x) {
    if (x < 100) {
    document.getElementById("div").style.top = x + "px";
    x += 1;
    window.setTimeout("verschieben(" + x + ")", 1);
    }
    }

    damit will ich den div hier im beispiel einfach 100px nach unten bewegen. leider ist das ganze sehr langsam, darum frage ich mich, ob es nicht einen anderen weg gibt, wie man dieses verschieben beschleunigen kann und die bewegung dennoch flüssig aussieht.

    danke

  • Ich weiss, man sieht es als unnützlich an, mit jquery gehts sicher besser oder uach aéinfacher, egal, hiermit gehts flüssig: BoxMover

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Ich weiss, man sieht es als unnützlich an, mit jquery gehts sicher besser oder uach aéinfacher, egal, hiermit gehts flüssig: BoxMover

    naja.. mehr oder weniger das gleiche wie der box mover möchte ich ja auch machen.
    aber auch der box mover ist extrem langsam und die bewegung sieht nicht gerade flüssig aus.

    ich glaub des verschluckt sich bei der einen milisekunde..

    mach mal ne bewegung um mehr pixel und mit nem längeren timeout

    hier sehe ich leider das problem, dass die bewegung dadurch nicht mehr flüssig aussieht, wenn die box um mehrere pixel gleich weiterbewegt wird. glaub mir, das habe ich alles schon versucht.
    an diesen versuchen bin ich aber leider gescheitert und darum habe ich mich überhaupt erst an dieses forum gewandt.

    Es gibt ne menge libarys die das ganz gut können, und ohni die wäre JS nur noch langweilig :D

    jquery, scripacoulus, mootools, yui etc.

    diese librarys werden wohl auch eine methode haben wie man das bewerkstelligen kann. ich bin zwar kann freund von ihnen, werde mir das aber mal ansehen ;)

  • Also wenn du gescheite parameter eingibts, dass heisst probier mal geschwindigkeit 5 oder 6, dann gehts zackig. Und wenns dann stockt dann liegts nicht an JS sondern an deinem dann schneckenlahmen computer, denn sogar auf unsere schulcomputern mit 500Mhz ist das flüssig....

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Also wenn du gescheite parameter eingibts, dass heisst probier mal geschwindigkeit 5 oder 6, dann gehts zackig. Und wenns dann stockt dann liegts nicht an JS sondern an deinem dann schneckenlahmen computer, denn sogar auf unsere schulcomputern mit 500Mhz ist das flüssig....

    ok.
    ich werde es mal testen.
    danke allen :D

  • Tobse
    Dein BOX-Mover ist alles andere als Flüssig !!! Das sieht aus als ob er hackt und ich glaube das KANN NICHT an meinem PC liegen

  • Wenn ihr meint, aber jquery kann auch nichts anderes als die box pixel für pixel zu verschieben. Ich hab auch auf keiner Seite die bewegte objekte hat diese sic flüssig bewegen sehen.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Ich hab auch auf keiner Seite die bewegte objekte hat diese sic flüssig bewegen sehen.

    nicht?

    wassn hiermit:

    Ich weiss, man sieht es als unnützlich an, mit jquery gehts sicher besser oder uach aéinfacher, egal, hiermit gehts flüssig: BoxMover

    also noch nirgendwo, außer bei dir selber...

    fazit lieber thread-ersteller.
    die flüssigen bewegungen von elementen hängen von 3 wichtigen faktoren ab, den richtigen werten für verschieben und nen anständigen timeout, sowie letztlich die leistung des client-PC.

    es gibt tatsächlich die möglichkeit eine bewegung recht flüssig hinzbekommen, aber ohne etwas ruckeln und hakeln wirste des mit javascript nicht hinbekommen, esist lediglich die annäherung an eine perfekte bewegung.

    evtl hilft dir des hier ja auch etwas weiter: http://home.arcor.de/synaptic/JS_basics/layer.html

    is nich so professionell wie der boxmover vom tobse, aber macht ne schöne bewegung die schnell is und kaum ruckelt ;)

    und ps: des design is noch immer nur des testlayout, wenn ich in den nächsten jahren mal muße finde was dran zu machen wirds auch hübscher...

  • synaptic:
    ICh dachte mir halt, wenn meins nicht flüssig ist, dann ist anderes auch nciht flüsig. Denn wie ich das gemacht hab, hab ich auch erst auf anderen Seiten geschaut, wie genau die vorgehen. UNd das sah genauso flüssig aus wie meins.

    Und ich denke, synaptic liegt mit der aussage, dass es nciht 100% flüssig geht mehr als richtig.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!