[Javascript]Alternativa al position:sticky nel CSS

lazlo

Utente Attivo
24 Gen 2018
20
0
1
Salve ragazzi, come si evince dal titolo sto cercando di creare un div di tipo sticky, quindi che si blocchi al top della pagina quando si scrolla. Sono a conoscenza del fatto che esiste una specifica regola CSS per poter creare uno sticky senza dover utilizzare metodi più complessi, tuttavia il funzionamento è correlato al suo elemento genitore e, se gli elementi sono tanti uno dentro l'altro diventa praticamente impossibile far funzionare questa soluzione.
Nel mio caso parliamo di una pagina di un sito che sto costruendo attraverso un visual composer in cui l'elemento che deve diventare sticky è contenuto in parecchi contenitori relativi agli elementi del visual composer e, piuttosto che impazzire a cambiare tutti gli overflow, che comunque mi vanno poi ad incasinare tutto il layout, preferisco usare direttamente una regola javascript.
Cercando in rete, sono riuscito a trovare il seguente script:
Codice:
var menu = document.querySelector('.menu')
var menuPosition = menu.getBoundingClientRect().top;
window.addEventListener('scroll', function() {
    if (window.pageYOffset >= menuPosition) {
        menu.style.position = 'fixed';
        menu.style.top = '0px';
    } else {
        menu.style.position = 'static';
        menu.style.top = '';
    }
});

Il codice sopra postato funziona perfettamente, trasformandomi l'elemento in un elemento di tipo fixed. Come potete vedere dal codice, la funzione si attiva quando l'elemento arriva al top della pagina, diventando poi fixed.
Nel mio caso, però, ho già un menù principale di tipo fixed che ha un'altezza fissa di 45 px.
E' possibile modificare quello script in modo che si attivi non quando l'elemento arriva al top della pagina ma dandogli un "top+45px"?(scusate il mio linguaggio poco tecnico, spero di essermi spiegato).
 
Discussioni simili
Autore Titolo Forum Risposte Data
S Problemi Javascript + Aruba Javascript 2
M Inviare un file su un server remoto con JavaScript Javascript 0
T a href="javascript:;" Javascript 0
F Creare elementi html con javascript Javascript 2
A pulsante di update campo mysql con javascript Javascript 2
8 Javascript - PDF Form Javascript 0
B javascript per problemi con pdf e Safari Javascript 0
N informazione javascript Programmazione 0
I Eecuzione di javascript in ciclo foreach php. PHP 7
P javascript:document.forms Javascript 7
S Consiglio esercizio Javascript Javascript 2
MarcoGrazia Aggiungere o rimuovere classi in javascript Javascript 1
P Passaggio id php a javascript PHP 6
E lettura da un Database con Javascript jQuery 2
V TRIS in javascript Javascript 1
IClaude Funzione Javascript Javascript 8
Alex_70 Javascript date color Javascript 3
F Convertire JavaScript per la compatibilità nei browser obsoleti Javascript 0
I Passare dei parametri in javascript PHP 0
Shyson Meglio Javascript o HTML? Javascript 4
M Chiamare pagina php da javascript Javascript 8
M Errore JavaScript per php [objeto HTMLParagraphElement] PHP 0
D Javascript per il download dei dati Javascript 0
grgfede Problema javascript con aruba Javascript 1
webmachine [PHP] [JAVASCRIPT] Form strano in HTML PHP PHP 1
W Modificare il Type di un Input box in javascript ovunque si trovi Javascript 0
I javascript come caricare una pagina sopra quella corrente in automatico Javascript 2
L [Javascript] Problema salvataggio dati in db Javascript 1
max1974 [Javascript] Grafico chartjs con dati da J.ajax Javascript 3
G Quiz Javascript Javascript 4
A [Javascript] Scrittura su più campi contemporaneamente Javascript 19
F classic asp popolare combo box javascript Presentati al Forum 1
claudio_lorenzo [Javascript] aiuto su jquery per calcolo altezze dom Javascript 1
F [Javascript] comando innerHTML non funziona Javascript 5
alexice51 proggrammi per scrivere in javascript? Javascript 3
max1974 [Javascript] Accordion aria-exspanded Javascript 0
D [Javascript] salvare immagine canvas - paypal Javascript 0
O [Javascript] Conflitto Jquery: forse... Javascript 0
M [Javascript] Canvas js css Javascript 1
M Programmazione web HTML, CSS e JavaScript Offerte e Richieste di Lavoro e/o Collaborazione 6
G [Javascript] Errore inserimento dati Backend Node.js e workbench Javascript 1
A Creare con Javascript un percorso all'interno di uno spazio Javascript 0
D [Javascript] inserire uno script in un file php Javascript 6
Monital [Javascript] inserire dati estratti dal db in html fisso Javascript 1
K [javascript] Tecnica per rilevare celle contenenti caratteri ricevute in dinamico Javascript 1
F [JavaScript] Ottenere il CSS dopo transform: scale() e transform-origin Javascript 0
S [Javascript] Problema costrutto if Javascript 0
I [Javascript] window.location.href porta alla nuova pagina e ritorna incomprensibilmente. Javascript 0
L [Javascript] input variabili di scrittura con canvas Javascript 2
G [Javascript] Passare un valore via querystring Javascript 1

Discussioni simili