2015-12-14 17 views
10

voglio aggiungere classe all'elemento quando diventa visibile sullo schermo durante lo scorrimento:Aggiungi classe elemento html quando diventa visibile sullo schermo

<button class='btn btn-default' > 
    Hello 
</button> 

voglio aggiungere classe per 'btn-default' quando il pulsante diventa visibile sullo schermo dopo lo scorrimento o quando la pagina si ricarica.

+0

_gets visible_? Puoi spiegare come viene reso visibile? – Rayon

+0

Voglio dire quando il pulsante diventa visibile sullo schermo attraverso lo scorrimento o quando la pagina si ricarica –

+0

Che senso ha? Perchè ti serve? Fornire l'esempio di utilizzo. –

risposta

6

Prova di selezione visibile come in:

$(window).on('scroll', function(){ 
     if ($(".btn").is(':visible')){ 
      $(".btn").addClass("btn-default"); 
     } 
    }); 
+0

Parte della vostra risposta è corretta .. http://jsfiddle.net/ravimallya/mhfcwyk8/ – Ravimallya

+0

ho modificato la mia risposta come da @Ravimallya. inizialmente ho utilizzo non ha ancora "sul rotolo", come la questione non ha detto che la persona che aveva bisogno l'elemento sia visibile sul rotolo :). –

+0

OP non ho aggiunto in questione, ma in comm ent menzionato. Così ho aggiunto la mia risposta. – Ravimallya

0

Hai per usare jQuery $(element).is(':visible') per verificare se un elemento è visibile in un documento HTML.

JSFiddle

Questo è il frammento di cui si aggiungerà una classe quando documento pronto e quando scorrere all'elemento.

$(function() { 
 
    if ($('#testElement').is(':visible')) { 
 
    $('#testElement').addClass('red'); 
 
    } 
 
}); 
 
$(window).on('scroll', function() { 
 
    var $elem = $('#testElement1'); 
 
    var $window = $(window); 
 

 
    var docViewTop = $window.scrollTop(); 
 
    var docViewBottom = docViewTop + $window.height(); 
 
    var elemTop = $elem.offset().top; 
 
    var elemBottom = elemTop + $elem.height(); 
 
    if (elemBottom < docViewBottom) { 
 
    alert('hi') 
 
    $('#testElement1').addClass('red'); 
 
    } 
 
});
.red { 
 
    background: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="testElement" class="btn btn-default"> 
 
    Hello 
 
</button> 
 
<div style="height:400px">Some content</div> 
 
<button id="testElement1" class="btn btn-default"> 
 
    Hi 
 
</button>

-5

Normalmente è possibile aggiungere e rimuovere classe inferiore codice, ma prima si aggiunge (includere) qualsiasi min jquery js

Add class: $('.Yourclassname').addClass('addclassname'); 

Remove Class: $('.Yourclassname').removeClass('removeclassname'); 
+0

Cosa intendi? Hai letto attentamente la domanda? –

Problemi correlati