Skriptsprachen (PHP, Javascript, etc.) - Forum

Derzeit sind Sie als Gast in unserem Forum aktiv. Für das Schreiben registrieren Sie sich bitte. Unser Forum ist eine Austauschplattform für Webworker zum Kommunizieren, Helfen, Informieren und Hilfe finden. Auf der rechten Seiten finden Sie eine Forenübersicht über alle Bereiche des Webmaster-Forums. Unterhalb finden Sie alle aktuellen Themen.

Diskutieren Sie hier über die serverseitige Skriptsprachen PHP und Python und über dynamische Webseitenerstellung mit Javascript und Ajax.


meggs
Beiträge: 2070

PN schreiben
Profil ansehen
User ist offline

[JS/AS?/PHP?] Überblendung - Verschiedene Zeiten

Link zur Antwort auf "[JS/AS?/PHP?] Überblendung - Verschiedene Zeiten" von meggs meggs, am Friday den 18.04.2008 um 18:12:25

hi,

es geht um folgende Seite: .../ueberblendung/

wie zu sehen ist wurde mit JS eine überblendung vom einen bild zum nächsten generiert

ich möchte aber dass das erste bild (kästen) länger zu sehen bleibt als das zweite (akropolis). wie geht das?

script

blendung.js  
JavaScript
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);

var d=document, imgs = new Array(), zInterval = null, current=0, pause=false;

function so_init() {
    if(!d.getElementById || !d.createElement)return;

    css = d.createElement("link");
    css.setAttribute("href","xfade2.css");
    css.setAttribute("rel","stylesheet");
    css.setAttribute("type","text/css");
    d.getElementsByTagName("head")[0].appendChild(css);

    imgs = d.getElementById("imageContainer").getElementsByTagName("img");
    for(i=1;i<imgs.length;i++) imgs[i].xOpacity = 0;
    imgs[0].style.display = "block";
    imgs[0].xOpacity = .99;
    
    setTimeout(so_xfade,4000);
}

function so_xfade() {
    cOpacity = imgs[current].xOpacity;
    nIndex = imgs[current+1]?current+1:0;

    nOpacity = imgs[nIndex].xOpacity;
    
    cOpacity-=.025;
    nOpacity+=.025;
    
    imgs[nIndex].style.display = "block";
    imgs[current].xOpacity = cOpacity;
    imgs[nIndex].xOpacity = nOpacity;
    
    setOpacity(imgs[current]); 
    setOpacity(imgs[nIndex]);
    
    if(cOpacity<=0) {
        imgs[current].style.display = "none";
        current = nIndex;
        setTimeout(so_xfade,4000);
    } else {
        setTimeout(so_xfade,300);
    }
    
    function setOpacity(obj) {
        if(obj.xOpacity>.99) {
            obj.xOpacity = .99;
            return;
        }
        obj.style.opacity = obj.xOpacity;
        obj.style.MozOpacity = obj.xOpacity;
        obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
    }
    
}

Insgesamt 1 mal bearbeitet, zuletzt am 19.04.2008 um 16:26:31
Link zur Antwort auf "[JS/AS?/PHP?] Überblendung - Verschiedene Zeiten" von Philipe Fatio Philipe Fatio, am Friday den 18.04.2008 um 19:32:14

setTimeout(so_xfade,4000); bei so_init einfach das 4000 (= 4 Sekunden) anpassen.


meggs
Beiträge: 2070

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "[JS/AS?/PHP?] Überblendung - Verschiedene Zeiten" von meggs meggs, am Friday den 18.04.2008 um 22:43:09
Zitat von: Philipe Fatio

setTimeout(so_xfade,4000); bei so_init einfach das 4000 (= 4 Sekunden) anpassen.

versteh ich nicht.. was meinst du? zeilenangabe

ich will dass das erste bild länger angezeigt bleibt als das zweite


meggs
Beiträge: 2070

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "[JS/AS?/PHP?] Überblendung - Verschiedene Zeiten" von meggs meggs, am Sunday den 20.04.2008 um 11:03:30

ich selber kann sowas null (irgendwann in ferner zukunft werde ich hoffentlich mal zeit haben mich mit js, php und co zu befassen)

von mir aus auch flash fall es keine möglichkeit gibt.. weiß jemand rat bzw. philipe kannst du das nochmal erläutern?


David Danier
Beiträge: 1710

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "[JS/AS?/PHP?] Überblendung - Verschiedene Zeiten" von David Danier David Danier, am Sunday den 20.04.2008 um 11:17:00
Zitat von: Thomas Maier
Zitat von: Philipe Fatio

setTimeout(so_xfade,4000); bei so_init einfach das 4000 (= 4 Sekunden) anpassen.

versteh ich nicht.. was meinst du? zeilenangabe

Zeile 19

Zitat von: Thomas Maier

ich will dass das erste bild länger angezeigt bleibt als das zweite

Dann schreib beispielsweise 8000 statt 4000 rein.


meggs
Beiträge: 2070

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "[JS/AS?/PHP?] Überblendung - Verschiedene Zeiten" von meggs meggs, am Sunday den 20.04.2008 um 18:37:07
Zitat von: David Danier
Zitat von: Thomas Maier
Zitat von: Philipe Fatio

setTimeout(so_xfade,4000); bei so_init einfach das 4000 (= 4 Sekunden) anpassen.

versteh ich nicht.. was meinst du? zeilenangabe

Zeile 19

Zitat von: Thomas Maier

ich will dass das erste bild länger angezeigt bleibt als das zweite

Dann schreib beispielsweise 8000 statt 4000 rein.

danke aber irgendwie stell ich visuell keinen wirklichen unterschied fest

passt das so nicht?

änderungen:

in zeile 19: setTimeout(so_xfade,8000);
zeile 41: setTimeout(so_xfade,1000);
zeile: 43: setTimeout(so_xfade,50);

ich ging jetzt mal davon aus dass das erste für bild1 gilt, das zweite für bild2 und das dritte für die dauer des übergangs...?

test


Benutzer gelöscht
Beiträge: 134

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "[JS/AS?/PHP?] Überblendung - Verschiedene Zeiten" von Benutzer gelöscht Benutzer gelöscht, am Sunday den 20.04.2008 um 19:02:46

So ist es doch wie gewünscht. Oder?


meggs
Beiträge: 2070

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "[JS/AS?/PHP?] Überblendung - Verschiedene Zeiten" von meggs meggs, am Sunday den 20.04.2008 um 21:27:22
Zitat von: Ruben Brückner

So ist es doch wie gewünscht. Oder?

nope -_-

bild1 ist zwar beim ersten mal schön lang da in relation zu bild2 jedoch wirds beim zweiten mal einblenden schon viel schneller wieder ausgeblendet

so will ichs haben:

8 sekunden bild1 --- 1 sekunde übergang ---
2 sekunden bild2 --- 1 sekunde übergang ---
8 sekunden bild1 --- 1 sekunde übergang ---
2 sekunden bild2 --- 1 sekunde übergang ---
8 sekunden bild1 --- ...usw...

wie bekomm ich das hin? (skript: muss ja nicht unbedingt js sein.. solangs funktioniert isses wurscht)


Benutzer gelöscht
Beiträge: 134

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "[JS/AS?/PHP?] Überblendung - Verschiedene Zeiten" von Benutzer gelöscht Benutzer gelöscht, am Monday den 21.04.2008 um 14:34:35

http://slayeroffice.com/code/imageCrossFade/xfade2.html

ich hab in einer stunde mal zeit, werde dann selbst mal ein wenig mit rumspielen. evtl funzt ja damit. dürfte nach ersten blicken nicht viel anders aufgebaut sein.


meggs
Beiträge: 2070

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "[JS/AS?/PHP?] Überblendung - Verschiedene Zeiten" von meggs meggs, am Monday den 21.04.2008 um 15:22:14
Zitat von: Ruben Brückner

http://slayeroffice.com/code/imageCrossFade/xfade2.html

ich hab in einer stunde mal zeit, werde dann selbst mal ein wenig mit rumspielen. evtl funzt ja damit. dürfte nach ersten blicken nicht viel anders aufgebaut sein.

ich glaub das war das was ich letztendlich genommen hatte. wär echt cool wenn du da was machen könntest =).


meggs
Beiträge: 2070

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "[JS/AS?/PHP?] Überblendung - Verschiedene Zeiten" von meggs meggs, am Tuesday den 22.04.2008 um 22:57:49

so, jetz naochmal konkret:

ich brauche ein script, das mit zwei gleich große bilder 1 und 2 so überblendet (fade), wie hier schematisch gezeigt:

8 sekunden bild1 --- 1 sekunde übergang ---
2 sekunden bild2 --- 1 sekunde übergang ---
8 sekunden bild1 --- 1 sekunde übergang ---
2 sekunden bild2 --- 1 sekunde übergang ---
8 sekunden bild1 --- ...ewig weiter...

zeiten sind jetzt noch nicht so ganz fest aber bild1 soll auf jeden fall länger voll zu sehen sein als bild2 und der übergang sollte nicht allzulange dauern und weich überblenden.

hat jemand so eins oder kann mir so eins bauen bzw. das vorhandene (siehe oben) erweitern?