Diskuze: Javascript dva fix bannery při různém odscrolování - nefunguje :(
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Na to tady psal tutoriál HoBi, stačilo by si ho najít - http://www.itnetwork.cz/…nu-a-sidebar
Díky tomuto článku jsem se dostal i sem na tento portál ale nepomohl mi s tím co potřebuji. Proto jsem napsal sem na forum
Musíš to mírně upravit - aby to bralo - porovnávalo - každého zvlášť.
each je jQuery metoda (pokud má jQuery je to rozhodně správně). V JavaScritu (ES5) má Array metodu forEach (jen čistě typ Array), která je tomu podobná, ale funkce pro práci s DOM vracejí většinou NodeList, která ji nemá.
Teď nechápu co máš na mysli jestli to napsat v JQuery nebo v něčem jiném?
Bez jQuery zkus něco takového:
(function() {
var FIXED_CLASS = 'fixed';
var banners = document.querySelectorAll('.banner');
var affixTop = function(elements, top) {
var scrollTop = document.body.scrollTop;
for (var i = 0; i < elements.length; i++) {
var isFixed = elements[i].className.match(FIXED_CLASS);
if (scrollTop > top && !isFixed) {
elements[i].className += ' ' + FIXED_CLASS;
} else if(scrollTop < top && isFixed ) {
elements[i].className = elements[i].className.replace(FIXED_CLASS, '');
}
}
};
window.addEventListener('scroll', function() {
affixTop(banners, 200);
}, false);
})();
Tak jsem to zkusil nasadit bohužel bez úspěchu (po nasazení to přestalo
fungovat)
Ten můj skript přidává CSS třídu "fixed" elementům ".banners", pokud uživatel scrolluje víc než o 200px od horního okraje webu. Stačí správně nastylovat tu CSS třídu.
Zobrazeno 11 zpráv z 11.