Autor | Zpráva | ||
---|---|---|---|
Rico Profil |
Ahoj, nevím si rady s následujícím problémem.
Mám tuto slideshow z w3schools: var slideIndex = 1; showSlides(slideIndex); function plusSlides(slidesNumber) { showSlides(slideIndex += slidesNumber); } function currentSlide(slidesNumber) { showSlides(slideIndex = slidesNumber); } function showSlides(slidesNumber) { var slidesCount; var slides = document.getElementsByClassName("nazory_slideshow_box"); if (slidesNumber > slides.length) {slideIndex = 1} if (slidesNumber < 1) {slideIndex = slides.length} for (slidesCount = 0; slidesCount < slides.length; slidesCount++) { slides[slidesCount].style.display = "none"; } slides[slideIndex-1].style.display = "block"; } Při prvním načtení stránky slideshow funguje, ovšem když překliknu na jakýkoliv odkaz v menu, a najedu zpět na slideshow odkazem v menu, tak se slideshow chová zvláštně (především duplikuje), samozřejmě netuším proč... – v debugu jsem ovšem zjistil, že po tomto načtení nepřipíše požadovaným divům hodnoty "block" či "none". Konkrétněji <div class="nazory_slideshow_box fade" style=“display: block;“> nebo <div class="nazory_slideshow_box fade" style=“display: none;“> .
Nutno podotknout, že se stránky načítají v js. Příklad loadu zde: // Load stránek $(document).ready(function(){ $('.navigace a').click(zmenStranku); }) function zmenStranku(){ var Stranka = $(this).attr('href'); window.history.pushState("", "", "/" + Stranka); // zahajeni nacitani obsahu do #stranka_preload $('#stranka_preload').data('loaded', false); $('#stranka_preload').load(Stranka+' #stranka', '', function(){ // on load callback: $('#stranka_preload').data('loaded', true); if($('#stranka').data('ceka-na-nacteni')){ str_zobraz(); } }); // zavreni stranky $('#stranka').animate({ left: '-100%' }, 1000, 'swing'); $('#pozadi').animate({ left: '100%' }, 1000, 'swing', function(){ // po dokonceni prvni animace: // zmena pozadi $('#pozadi').css('background-image', 'url(/TraxartSystem/galerie/sekce/bg_' + Stranka + '.jpg)'); // vraceni divu s novym pozadim $('#pozadi').animate({ left: '0%' }, 1000, 'swing'); // vraceni nove stranky var str_nactena = $('#stranka_preload').data('loaded'); if(!str_nactena){ // nova stranka se jeste nestihla nacitst, co ted? // postara se o to pozdeji on load callback $('#stranka').data('ceka-na-nacteni', true); } else str_zobraz(); }); return false; } function str_zobraz() { // zkopirovani obsahu preloaderu do viditelneho divu var obsah = $('#stranka_preload').html(); $('#stranka').html(obsah); $('#stranka').data('ceka-na-nacteni', false); // vraceni divu s novou strankou $('#stranka').animate({ left: '0vw' }, 1000, 'swing'); // Event Listenery: $('#menu a').click(function() {nav_zavrit(); nav_hlavni_otevrit(); popup_zavrit(); hamburger_otevrit();}); //kliknutí na otevřít v HAMBURGER v navigaci $('#hamburger_menu span a').click(function() {hamburger_zavrit();}); //kliknutí na zavřít v HAMBURGER v navigaci $('.obsah span a').click(function() {konverze_zavrit(); cist_otevrit();}); $('#obsah_popup_info span a').click(cist_zavrit); $('.konverze a').click(function() {cist_zavrit(); konverze_otevrit();}); $('#obsah_popup_konverze span a').click(konverze_zavrit); $(".gallery_list img").click(function(){ var ImagePath = $(this).attr("src"); $(".gallery_show .obrazek").css( 'background-image', 'url(' + ImagePath + ')'); }); } Téma o řešení tohoto scriptu se dá najít Zde Předem Vám děkuji za všechny rady celkově čas co nad tímto strávíte. |
||
Kcko Profil |
#2 · Zasláno: 26. 10. 2019, 11:30:55
Upřímně, kódy z W3chools (až na vyjímky) nejsou nic moc, nechceš použít nějaký osvědčený plugin?
Např. kenwheeler.github.io/slick |
||
Časová prodleva: 1 měsíc
|
|||
Rico Profil |
#3 · Zasláno: 30. 11. 2019, 11:12:13
Inu...
Po několika dnech všelijakého testování Slicku jsme se nakonec dopídili k úplně stejné chybě... opět nám to někde sabotuje load.js a samozřejmě opět netušíme, kde. Slideshow se prostě načte s kompletním výpisem všech slidu. Takže minimálně mě to ujistilo ve dvou věcech 1. slideshow z w3schools o 21 řádcích je v pohodě. 2. bude potřeba řešit ten load.js Pokud náhodou někdo máte ještě nějakou radu, samozřejmě ji ocením :) |
||
Časová prodleva: 4 roky
|
0