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 14.10.2010, 10:30  
Erfahrener Benutzer
 
Registriert seit: 04.05.2010
Beiträge: 152
PHP-Kenntnisse:
Anfänger
Thorus ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] jquery background-image wechseln mehrmals!

Hi,

Ich moechte gern das Hintergrundbild des bodys mehrmals aendern allerdings funktioniert immer nur der Befehl der als erstes kommt, der zweite wird einfach ignoriert!

PHP-Code:
$('#body').delay(9700).queue(function(){
 $(
'#body').css("background-image","url(/quasar.jpg)");
});
$(
'#body').delay(17000).queue(function() {
    $(
'#body').css("background-image","url(/45.jpg)");
}); 
Nach 9,7 sec wird das hintergrundbild geaendert nach 17sec nicht!
Aendere ich die Reihenfolge der Befehle wird nach 17sec das Bild geaendert aber nach 9,7 sec nicht! Wieso ist das so? Kann mir hier jmd helfen?

Thx Thorus
__________________
http://rottmann-moebel.de/
Thorus ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 14.10.2010, 18:04  
TZP
Erfahrener Benutzer
 
Registriert seit: 17.08.2010
Beiträge: 152
PHP-Kenntnisse:
Anfänger
TZP befindet sich auf einem aufstrebenden Ast
Standard

Das is ne gute Frage. Was würde denn passieren, wenn du das hier machst?

Code:
$('#body').delay(9700).queue(function(){
 $('#body').css("background-image","url(/quasar.jpg)");
  neuerQueue();
});

function neuerQueue(){
  $('#body').delay(7300).queue(function() {
    $('#body').css("background-image","url(/45.jpg)");
  });  
}
Müsste dann nich am Ende vom ersten Queue die Funktion aufgerufen werden und dort dann nach 7300 (7300+9700 = 17000) der zweite Queue aufgerufen werden? Ist nur ne ganz simple Theorie. ^^
TZP ist offline   Mit Zitat antworten
Alt 15.10.2010, 07:47  
Erfahrener Benutzer
 
Registriert seit: 04.05.2010
Beiträge: 152
PHP-Kenntnisse:
Anfänger
Thorus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja an sich sollte das ja so sein, ist es aber leider nicht, der erste change wird gemacht, der zweite nicht, trotz der funktion...
__________________
http://rottmann-moebel.de/
Thorus ist offline   Mit Zitat antworten
Alt 15.10.2010, 09:09  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Ungetestet :
PHP-Code:
(function ($) {
var 
bg = ['1.jpg''2.jpg','3.jpg'],
    
0;
    (function () {
        if(
bg.length=0;
        $(
'#body').delay(9700).queue(function(){ 
            $(
'#body').css("background-image"'url(' bg[i] + ')'); 
        });
        
i++;
        
window.setTimeout(arguments.callee.call(this), 9700);
    })();
})(
jQuery); 
Ansonsten sieht das von TZP ok aus. Gibts nen Fehler in der Error Konsole?
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog

Geändert von rudygotya (15.10.2010 um 09:15 Uhr). Grund: edit: url im css teil vergessen
rudygotya ist offline   Mit Zitat antworten
Alt 15.10.2010, 09:28  
Erfahrener Benutzer
 
Registriert seit: 04.05.2010
Beiträge: 152
PHP-Kenntnisse:
Anfänger
Thorus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Bei dem von TZP kommt kein Fehler, es passiert einfach nur nix, wenn ich deines einfuege, kommt too much recursion, aber er wechselt wenn man 2 elemente im array hat das hintergrundbild auf das letzte, hat man 3 elemente im array, kommt url("undefined")...
Koenntet ihr das vllt mal testen, evtl bin ich einfach nur zu doof um das anzuwenden?
__________________
http://rottmann-moebel.de/
Thorus ist offline   Mit Zitat antworten
Alt 15.10.2010, 16:16  
TZP
Erfahrener Benutzer
 
Registriert seit: 17.08.2010
Beiträge: 152
PHP-Kenntnisse:
Anfänger
TZP befindet sich auf einem aufstrebenden Ast
Standard

So funktionierts...gerade ma getestet.

Code:
$('#body').delay(9700).queue(function(){
 $('#body').css("background-image","url(/quasar.jpg)");
 $('#body').dequeue();
  neuerQueue();
});

function neuerQueue(){
  $('#body').delay(7300).queue(function() {
    $('#body').css("background-image","url(/45.jpg)");
  });  
}
Er muss erst einen Queue mit .dequeue() abschließen und kann dann den nächsten aufrufen. Da lässt sich gewiss noch Code optimieren aber das ist erst mal ne laufende Basis.
TZP ist offline   Mit Zitat antworten
Alt 15.10.2010, 16:25  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

queue ist für Animationen gedacht - warum man das beim simplen ändern eines Hintergrundbildes überhaupt einsetzt, ist mir schleierhaft.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 19.10.2010, 10:41  
Erfahrener Benutzer
 
Registriert seit: 04.05.2010
Beiträge: 152
PHP-Kenntnisse:
Anfänger
Thorus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
queue ist für Animationen gedacht - warum man das beim simplen ändern eines Hintergrundbildes überhaupt einsetzt, ist mir schleierhaft.
weil ein simples:
PHP-Code:
$('#body').delay(9700).css("background-image","url(/quasar.jpg)"); 
nicht funktioniert...
__________________
http://rottmann-moebel.de/
Thorus ist offline   Mit Zitat antworten
Alt 19.10.2010, 14:05  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Thorus Beitrag anzeigen
weil ein simples:
PHP-Code:
$('#body').delay(9700).css("background-image","url(/quasar.jpg)"); 
nicht funktioniert...
Natürlich nicht, denn delay ist ja auch für Queues gedacht.

Zitat:
jQuery.delay() is best for delaying between queued jQuery effects and such, and is not a replacement for JavaScript's native setTimeout function, which may be more appropriate for certain use cases.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 19.10.2010, 14:09  
TZP
Erfahrener Benutzer
 
Registriert seit: 17.08.2010
Beiträge: 152
PHP-Kenntnisse:
Anfänger
TZP befindet sich auf einem aufstrebenden Ast
Standard

Beim letzten Teil des API-Zitats beschleicht mich ein leiser Hauch von Ironie...so als ob er in der API selbst nicht unterstrichen sein könnte.
TZP 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
variable mit onclick an php drombusch PHP Tipps 2009 8 30.08.2009 14:45
Bilder Klasse snatch-ic Beitragsarchiv 1 13.06.2007 11:45
link image als background AliceD HTML, Usability und Barrierefreiheit 4 31.08.2005 14:10
link background image mit css will nicht djrace HTML, Usability und Barrierefreiheit 4 01.08.2005 18:59
Problem mit Wasserzeichen auf Bildern pixelcut PHP-Fortgeschrittene 16 14.12.2004 02:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
jquery background image, jquery hintergrundbild wechseln, jquery background-image, jquery hintergrundbild ändern, jquery backgroundimage, jquery background image ändern, background image jquery, jquery css background-image ändern, background-image jquery, jquery hintergrundbild austauschen, jquery background image wechseln, jquery background-image ändern, jquery css background-image, jquery bilder tauschen, jquery hintergrund ändern, jquery hintergrundbild , jquery hintergrundfarbe ändern, backgroundimage jquery, jquery background ändern, jquery background image tauschen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:04 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