$.get Problem im Safari

D34DL1NES

Erfahrenes Mitglied
Hi,
Ich habe eine Slideshow geschrieben die ich aus .xml Dateien speise.

Sie enthält je Slide:

1 Thumbnail Grafik
1 Slide Grafik
1 Titel Text
1 Description Text

Das funktioniert auch alles Wunderbar im FF und Im Safari eigentlich auch nur wird im Safari der Titel nicht geladen. die Description funktioniert, aber der Titel nicht....

$.get funktion:

Code:
$.get("Galerie/" + Name + ".xml", function(d) {

            $(d).find('Slide').each(function() {

                var $Slide = $(this),
                    Title = $Slide.find("Title").text(),
                    Description = $Slide.find('Description').text(),
                    Thumbnail = $Slide.find('Thumbnail').attr('ThumbnailURL'),
                    SlideImage = $Slide.find('SlideImage').attr('ImageURL');

                var html =  '<div class="' + Name + 'Slides Slide" id="' + Name + 'Slide' + SlideNumber + '">';
                    html += '<img class="' + Name + 'Slide" alt="' + Name + 'Slide' + SlideNumber + '" src="' + SlideImage + '" />';
                    html += '<div class="Info">';
                    html += '<p class="Title" id="' + Name + 'Title' + SlideNumber + '">' + Title + '</p>';
                    html += '<p class="Description" id="' + Name + 'Description' + SlideNumber + '"> ' + Description + '</p>';
                    html += '</div>';
                    html += '</div>';

                var Thumbnails = '<li class="Thumbnail"><a href="#" id="' + Name + 'Thumbnail' + SlideNumber + '"><img alt="' + Name + 'Thumbnail' + SlideNumber + '" src="' + Thumbnail + '" /></a></li>';

                SlidesTarget.append($(html));

                ThumbnailsTarget.append($(Thumbnails));

                SlideNumber++;

            });

            SlideNumber = 1;

            LoadingImage.animate({ "opacity": 0 });
            BlackdivContent.css("display","block").animate({ "opacity": 1 },"","",function(){
                LoadingImage.css("display","none");
            });

        });

XML Beispiel dazu:
Code:
<Slide>
    <Title>Title 1</Title>
    <Description>Description 1</Description>
    <Thumbnail ThumbnailURL="Images/Thumbnails/1.png"></Thumbnail>
    <SlideImage ImageURL="Images/Slides/1.png"></SlideImage>
  </Slide>

Woran könnte das liegen?

mfg

deadr
 
Moin deadr ,

bei mir funktioniert das korrekt im (WIN)-Safari.

Lass dir mal testhalber eingangs der Funktion das d ausgeben....was kommt da zum Vorschein?
 
d enthält die komplette .xml Datei. Im (Win)Safari als auch im (Win)FF.

ich poste mal den link zum Problem selbst.

tomduke.edgespan.de

Dann auf Showcase und dann auf Logos klicken. Dann müsste unter den großen farbigen Testbildern Titel (1 -4) und Description (1-4) stehen.

Das passiert auch aber nur im FF und IE(obwohl es da andere Probleme gibt..)

mfg

deadr

P.S.: Ich habe im IE8 starke Performance Probleme wenn ich auf Logos drücke -> wenn überhaupt, wie kann ich das verhindern?
 
das mit dem letzten Parameter bekomm ich irgendwie nicht auf die Reihe - kannst du mir das mal am Beispiel demonstrieren?

mfg

deadr
 
Code:
$.get("Galerie/" + Name + ".xml", function(d) {

            $(d).find('Slide').each(function() {

                var $Slide = $(this),
                    Title = $Slide.find("Title").text(),
                    Description = $Slide.find('Description').text(),
                    Thumbnail = $Slide.find('Thumbnail').attr('ThumbnailURL'),
                    SlideImage = $Slide.find('SlideImage').attr('ImageURL');

                var html =  '<div class="' + Name + 'Slides Slide" id="' + Name + 'Slide' + SlideNumber + '">';
                    html += '<img class="' + Name + 'Slide" alt="' + Name + 'Slide' + SlideNumber + '" src="' + SlideImage + '" />';
                    html += '<div class="Info">';
                    html += '<p class="Title" id="' + Name + 'Title' + SlideNumber + '">' + Title + '</p>';
                    html += '<p class="Description" id="' + Name + 'Description' + SlideNumber + '"> ' + Description + '</p>';
                    html += '</div>';
                    html += '</div>';

                var Thumbnails = '<li class="Thumbnail"><a href="#" id="' + Name + 'Thumbnail' + SlideNumber + '"><img alt="' + Name + 'Thumbnail' + SlideNumber + '" src="' + Thumbnail + '" /></a></li>';

                SlidesTarget.append($(html));

                ThumbnailsTarget.append($(Thumbnails));

                SlideNumber++;

            });

            SlideNumber = 1;

            LoadingImage.animate({ "opacity": 0 });
            BlackdivContent.css("display","block").animate({ "opacity": 1 },"","",function(){
                LoadingImage.css("display","none");
            });

        },'xml');
 
Komisch, Das hatte ich mit "xml" schon probiert und es ging nicht, mit 'xml' geht es aber.

Danke!

Jetzt habe ich doch noch eine Frage: mit welchen Event kann ich eine änderung der CSS-Klasse behandeln? change(fn) funktioniert (bei mir) nicht.

Lösung:

habe beim ändern der klasse(im addon) noch ein .trigger("classChange") angehängt und das mit bind wieder aufgefangen.

Thema erledigt
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück