You are not logged in.

wcf.regNote.message

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

1

Friday, July 24th 2009, 7:59pm

Breite einer Tabellenzelle mit JS manipulieren - Wie geht das?

Ich habe eine Tabelle mit 10 Zellen. Diese Zellen liegen alle nebeneinander und teilen sich den Platz von 1000 Pixel. Das heißt jede Zelle hat 100 Pixel breite. Nun möchte ich per JS die Breite einer einzelnen Zelle auf sagen wir 250 Pixel erhöhen und gleichzeitig die anderen Zellen gleichmäßig verteilen. Das ganze ist noch nicht unbedingt das Problem. Aber ich möchte das sich die Breite der Tabelle nicht sprunghaft ändert sondern sanft "gleitet". Das heißt zu Beginn ein wenig langsammer, dann was schneller und gegen Ende wieder langsamer. Und diese Funktion muss sowohl in die eine Richtung als auch die andere klappen.

Die Funktion die ich habe sieht momentan wie folgt aus.

Source code

1
2
3
4
5
function resizeup(tdid) {
if(tdid == 'td1') document.getElementById('td1').style.width = '250px';
if(tdid == 'td2') document.getElementById('td2').style.width = '250px';
...
}

meine erste Idee wäre es das ganze in einer While-Schleife zu machen aber gibt es da nicht einen besseren Weg?
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Gargyle

Beginner

Posts: 3

Occupation: Energieanlagenelektroniker

  • Send private message

2

Wednesday, July 29th 2009, 8:38pm

Falls du keine Funktion für dein "Softscrolling" findest,
kannst du dir doch ein Tabelle stricken die entsprechende Werte hat.

Mein Vorschlag wäre sin(x) im Bereich 0..pi
oder eine e hoch (-(x*x)) mit Anpassung

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

3

Thursday, July 30th 2009, 10:58am

Es gibt eine Funktion von Scriptacoulus allerdings arbeitet die mit Prozentangaben. Das heißt die Ausgangsposition ist 100% und wenn ich dann 200 angebe verdoppelt sich die Größe. Das kann ich nur leider für den Zweck wozu ich das brauche nicht nutzen da ich mit Pixelangaben arbeiten muss. Sonst müsste ich immer extra noch mal errechnen wie viel % welche Pixelgröße ausmacht usw. und das ist mir zu aufwändig.

Im Moment habe ich das so, dass ich eine While Schleife nutze und dort bei jedem Durchlauf 1 Pixel dazu addiere. Ich mache das so, dass 20% der gesamt Pixelveränderung 10 Pixel pro Sekunden arbeiten, dann 60% mit 20 Pixel pro Sekunde und dann die letzten 20 % wieder mit 10 Pixel. Dadurch sieht es so aus das die Erweiterung der Zelle langsam anfängt und langsam bremst. Könnte man natürlich noch genauer machen dann sieht es noch besser aus. Aber ich wollte erst mal testen ob ich diesen Effekt mit JS überhaupt umsetzen kann. Und es geht tatsächlich. Allerdings ist das ganze trotzdem von der Qualität her nicht vergleichbar mit Flash. Ich hab für Flash sowas gebaut bekommen und das sieht einfach um längen besser aus als wenn ich das mit JS mache. Leider kenne ich mich selbst mit Flash nicht so aus um sowas zu machen deshalb bin ich da immer auf andere angewiesen.

Grundsätzlich aber schon mal nicht schlecht was so alles möglich ist mit JS. Ich kann z.B. auch in Verbindung mit einer Datenbank und Ajax ein schwarzes Brett machen auf dem ich Notizzettel aufhänge und das ganze merkt sich die Position der einzelnen Notizen in der Datenbank. Die kann man mit der Maus hin und her verschieben wie eben einen richtigen Zettel an einer Magnettafel.

Den Effekt den ich hier übrigens versucht habe mit JS nachzubauen ist sehr schön auf der Seite www.amj-design.de zu sehen. Wie eine Art Vorhand welcher auf geht wenn man mit der Maus drüber fährt.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Similar threads

wcf.user.socialbookmarks.titel