php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.02.2009, 15:06  
Erfahrener Benutzer
 
Benutzerbild von Screeze
 
Registriert seit: 04.01.2009
Beiträge: 844
PHP-Kenntnisse:
Fortgeschritten
Screeze wird schon bald berühmt werden
Standard [Erledigt] bildrotation, fadein/out ersetzung

Ich will ein Bild alle x minuten ersetzen lassen durch ein zufälliges anderes.
Zurzeit ruf ich das ganze zum testen noch per linkKlick auf statt mit interval ect.

Aber leider faded das nicht so wie ich möchte.

Das script ruft eine php datei auf, welche als antwort den Link zu einem zufälligen Bild schickt. (das klappt) dann soll das Bild schonmal vorgeladen werden, damit es dann sofort vorhanden ist. (hier hab ich ein kleines script im netz gefunden)
Sobald das fertig ist, soll das alte bild weggefaded, und das neue reingefaded werden.
Und hier hängts. Statt zu faden, wird das Bild einfach ersetzt.

Hier mal mein Script:
Code:
<script type="text/javascript">
        var xmlhttp;
        var load_img;
        var timerid;
        function preloadImg() {
            if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                imgpath = xmlhttp.responseText;
                load_img = new Image();
                load_img.src = imgpath;
                timerid = setInterval("replace_img()", 2000);
            }
        }
        function replace_img(){
            if (load_img.complete) {
                clearInterval(timerid);
                delete(timerid);
                img_fadeout(load_img.src);
            }
        }
        function img_fadeout(img) {
            for(var x=9; x>=0; x--){
                document.getElementById("gallery_rotate").style.filter = "alpha(opacity=" + x + "0)";
                document.getElementById("gallery_rotate").style.MozOpacity = "0." + x;
            }
            img_fadein(img);
        }
        function img_fadein(img) {
            document.getElementById("gallery_rotate").src = img;
            for(var x=0; x<=10; x++){
                if(x != 10) {
                    document.getElementById("gallery_rotate").style.filter = "alpha(opacity=" + x + "0)";
                    document.getElementById("gallery_rotate").style.MozOpacity = "0." + x;
                }
                else {
                    document.getElementById("gallery_rotate").style.filter = "alpha(opacity=100)";
                    document.getElementById("gallery_rotate").style.MozOpacity = "1.0";
                }
            }
        }
        function getRandImg() {
            var nocache = Math.random();
            xmlhttp = new XMLHttpRequest();
            xmlhttp.open("GET", '/0.2/randpicture.php?para=' + nocache, true);
            xmlhttp.onreadystatechange = preloadImg;
            xmlhttp.send(null);
        }
    </script>
Das bild ist auf der seite so definiert:
Code:
<div id="img_rot">
        <img id="gallery_rotate" height="163" width="154" src="img/1.jpg" style="filter:alpha(opacity=80);-moz-opacity:0.8"/>
</div>
Und aufgerufen wird das ganze damit

Code:
 <a href="javascript:getRandImg();">test</a>
Wie bekomm ich jetzt einen schönen fade effekt hin? Ich versuche ja das opacity runter- & raufzuscalieren, aber anscheinend klappt das nicht.
Screeze ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.02.2009, 15:48  
Erfahrener Benutzer
 
Benutzerbild von Screeze
 
Registriert seit: 04.01.2009
Beiträge: 844
PHP-Kenntnisse:
Fortgeschritten
Screeze wird schon bald berühmt werden
Standard

Ok Fehler war, dass das ja sofort hintereinander hoch und runtergezählt wurde, wenn man das mit intervallen löst klappts

Code:
function fade(direction) {
            theobject = document.getElementById("gallery_rotate");
            if(direction == 0)
                highlighting = setInterval("decrease(theobject)",50);
            else {
                clearInterval(highlighting);
                highlighting = setInterval("increase(theobject)",50);
            }
        }
        function decrease(img) {

            if (img.style.MozOpacity > 0)
                img.style.MozOpacity = parseFloat(img.style.MozOpacity) - 0.1;
            else if (img.style.MozOpacity == 0) {
                 img.src = load_img.src;
                 fade(1);
            }
            else if (img.filters && img.filters.alpha.opacity > 0)
                img.filters.alpha.opacity -= 10;
            else if (img.filters && img.filters.alpha.opacity == 0) {
                img.src = load_img.src;
                fade(1);
            }
            else if (window.highlighting)
                clearInterval(highlighting);
        }
        function increase(img) {
            if (img.style.MozOpacity < 1)
                img.style.MozOpacity = parseFloat(img.style.MozOpacity) + 0.1;
            else if (img.filters && img.filters.alpha.opacity < 100)
                img.filters.alpha.opacity += 10;
            else if (window.highlighting)
                clearInterval(highlighting);
        }
Screeze ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Wildcard - Ersetzung von unbekanntem Unimatrix_0 PHP Tipps 2008 18 26.09.2008 16:34
Ersetzung in einem Array übernehmen seven-12 PHP Tipps 2007 13 24.11.2005 13:55

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
bildrotation javascript, bildrotation php, javascript bildrotation, php bildrotation, php bildrotation script, html code für bildrotation, bildrotation mit fadeeffekt, bildrotation in javascript, http://www.php.de/javascript-ajax-und-mehr/52074-erledigt-bildrotation-fadein-out-ersetzung.html, bildrotation, getelementbyid fade klick bild austauschen, java bildrotation, style=\filter:alpha(opacity=80), document.getelementbyid(\load_img\).src, java script bildrotation, html bildrotation link, bildrotation php script, quellcode für bildrotation, bildrotation mit java script, bild rotation mit link

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum