mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 13:09 Benutzername: Passwort: Auto-Login

Thema: jquery | Script wird langsamer vom 25.06.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> jquery | Script wird langsamer
Autor Nachricht
choise
Threadersteller

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Do 25.06.2009 14:59
Titel

jquery | Script wird langsamer

Antworten mit Zitat Zum Seitenanfang

Hi Leute,

hab folgendes Script

Code:

$(document).ready(function(){

   var pictures = $('#thumbs a')
   var image = $('#biggerimage');
   
   $(pictures).click(function(){
                        
      var pic = $(this).attr('href');
      
      image.animate({opacity: 0.0}, "slow",function() {
         image.attr('src',pic).load(function(){
            image.animate({opacity: 1.0}, 1000);   
         });
      });
      
      return false;
   });
});


nach dem 5ten, 6ten click wird das ding extrem träge, der fadein dauert immer länger.
was kann ich daran ändern?

Menno!


mal das html markup

Code:

<!-- großer bildwechsel -->
<img id="biggerimage" src="01.jpg" width="648" height="365" alt="big_01" />

<div id="thumbs">
   <a href="01.jpg" title="roter Stuhl">
      <img src="thumb/thumb_01.jpg" width="122" height="72" alt="thumb_01" />
   </a>
</div>
   



so in etwa


Zuletzt bearbeitet von choise am Do 25.06.2009 15:00, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Fr 26.06.2009 18:03
Titel

Antworten mit Zitat Zum Seitenanfang

is die load-funktion nicht vorranging eine ajax-geschichte? egal.

wäre es bei einem image-fader (was das doch sein soll, oder?) nicht schlauer, die src schlicht weg auszutauschen und dann ein- bzw. ausblenden zu lassen?

ggf alle bilder am ende der seite in ein display none container laden, damit diese schon gecacht sind...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
benedict r.

Dabei seit: 07.06.2007
Ort: Friedberg (Hessen)
Alter: 33
Geschlecht: Männlich
Verfasst Fr 26.06.2009 18:59
Titel

Antworten mit Zitat Zum Seitenanfang

Die Methode ist nicht ganz optimal die du zum Laden der Bilder
benutzt. Das Bild wird ja somit erst angefangen zu laden, wenn
der Benutzer darauf klickt.

Benutze das Snippet hier:
Code:

$('#thumbs a').each( function ( ) {
     var pic = new Image();
     pic.src = $(this).attr('href');
});


Damit lädst der Browser alle deine Bilder schon beim Start in den
Cache - ergo brauchst du keine Ajax-Funktionen mehr (ich denke
auch, dass die load-Methode noch beschäftigt ist und deshalb
die Animation nicht startet - erklären kann ich mir das aber trotzdem
nicht).

----

Dieser Code würde zum Beispiel funktionieren:
Code:
         $(document).ready(function(){
         
            var pictures = $('#thumbs a')
            var image = $('#biggerimage');
            
            // Grafiken vorladen
            $('#thumbs a').each( function ( ) {
               var pic = new Image();
               pic.src = $(this).attr('href');
            });
            
            $(pictures).click( function( event ){
               event.preventDefault();
               
               // Zu ladene URL
               url = $(this).attr('href');
               
               // Grafik ausblenden
               image.animate({opacity: 0.0}, "slow", function(){
                  // Neue URL schreiben
                  image.attr('src', url );
               })
               
               // Grafik einblenden
               image.animate({opacity: 1.0}, 1000);
            });
         });


Zuletzt bearbeitet von benedict r. am Fr 26.06.2009 19:05, insgesamt 3-mal bearbeitet
  View user's profile Private Nachricht senden
choise
Threadersteller

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Fr 26.06.2009 23:01
Titel

Antworten mit Zitat Zum Seitenanfang

danke! Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Random PHP Script mit jquery fade
Efektivere Umsetzung von jQuery Script
Flash aufm Mac langsamer?
Flash langsamer im Browser
[FLASH] MovieClip wird immer langsamer [erledigt]
jQuery Plugin - Slider als Input wie in jQuery UI
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.