• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] FlexSlider laden wenn versteckter DIV geöffnet wird

schokoauge

New member
Hallo zusammen,

ich arbeite gerade an einer Joomla Seite mit folgendem Slider:
Responsive Slider | Free extensions | Code7

Mein Design ist ein einfacher Ein-Seiter (kein Parallax oder so).
Wenn ich einen Menüpunkt anklicke, wird div1 einfach ausgefaded und div2 eingefaded (vorher display:none;).

Das Problem ist: wenn ich die zwei DIVs wechsle, also auf den Menüpunkt klicke, zeigt er mir den FlexSlider im zweiten Div nicht an. Nur wenn ich die Seite neulade. Da ich aber diesen schönen Übergang bewahren möchte, würde ich das ungern tun.

Der Slider wird wie folgt geladen (unter jedem Slider div befindet sich dieser Code):

Code:
	<script type="text/javascript" charset="utf-8">
	  jQuery(window).load(function() {
		jQuery('.flexslider').flexslider({
			animation: "slide",     	  
			directionNav: false,             
			  controlNav:false,     	  
			  keyboardNav:false,         
			  direction: "horizontal",        
			  slideshowSpeed:3000,       
			  animationSpeed:600,        
			  randomize: false     
			});
	  });
	</script>

Ich habe das Modul auch schon mal versucht dahingehend umzubauen, dass ich den JavaScript Code nur einmal am Ende der Seite laden. Die Wirkung ist aber die selbe, denn beim DIV-Wechsel wird der Slider dann nicht angezeigt / geladen..

Die Frage: wie kann ich den Slider "neu"- bzw. nachladen, wenn ich die DIVs wechsle? Neu Laden kommt nicht in Frage... Da muss es doch eine Lösung geben.

Das hier ist meine Wechsel-Funktion (nicht in jQuery document.ready):

Code:
    function changeSection(section) {
        if(activeSection != section) {
            $('#'+activeSection).fadeToggle("slow");
            $('#'+section).delay(500).fadeToggle("slow");
                                
            $('#menu-'+activeSection).removeClass('active');
            $('#menu-'+section).addClass('active');
                                
            document.title = activeSectionTitle;
            history.pushState({}, '', section);
            
            activeSection = section;
        }
    }

Ich bedanke mich im voraus für eure Hilfe und wünsche noch einen angenehmen Samstag Abend!
 
Gibt es im zweiten div auch das div "flexslider"? Wird beim Übergang zwischen diesen beiden Elementen die Seite neu geladen?

Wenn die Seite neu geladen wird, musst du den Slider erneut antriggern. Also das hier:
Code:
jQuery('.flexslider').flexslider();
in die Funktion changeSection() als letztes.

Der Slider wird wie folgt geladen (unter jedem Slider div befindet sich dieser Code):
Einmal pro Seite sollte reichen...
 
Zuletzt bearbeitet:
Wenn die Vorschläge von Rico nicht funktionieren: zeig' doch mal einen Testlink, wo wir uns das live ansehen können.

PS: Eventuell steht auch etwas in der Fehlerkonsole.
 
Zurück
Oben