| 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: 6 let
|
|||
0