Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

jQuery non intercetta :before css

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: archimede, Triumph Of Steel

jQuery non intercetta :before css

Postdi Prifa » 29/11/17 12:37

Ho questo css che funziona, ma non riesco a farlo intercettare dal jQuery.

Codice: Seleziona tutto
/* Colonna laterale-sidebar sx */
.site:before { 
    float: left;
    border: 1px solid orange;
}
...
<script>
jQuery(function($) {
    var sidebar = $('.site:before');
    var top = sidebar.offset().top - parseFloat(sidebar.css('margin-top'));
    $(window).scroll(function(event) {
        var y = $(this).scrollTop();
        if (y >= top) {
            sidebar.addClass('fixed');
        } else {
            sidebar.removeClass('fixed');
        }
    });
});
</script>
Avatar utente
Prifa
Newbie
 
Post: 8
Iscritto il: 16/05/15 18:50

Sponsor
 

Postdi archimede » 01/12/17 21:16

Non credo che i pseudo elementi before e after siano selezionabili con jQuery: non fanno parte del DOM.

Non puoi aggiungere una classe specifica o un ID all'elemento site e usare quello come selettore jQuery?

HTH.

Alessandro
archimede
Moderatore
 
Post: 2780
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi Prifa » 01/12/17 21:24

Questa cosa l'ho risolta, ora si presenta la parte finale: adesso la sidebar rimane ferma al top, devo fare in modo che sale con la pagina fino ad un certo numero di pixel e poi si ferma in base ai pixel che ho impostato.
Avatar utente
Prifa
Newbie
 
Post: 8
Iscritto il: 16/05/15 18:50


Torna a Programmazione


Topic correlati a "jQuery non intercetta :before css":


Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti