Skip to content

Instantly share code, notes, and snippets.

@kartick14
Created August 3, 2018 14:09
Show Gist options
  • Select an option

  • Save kartick14/5a08f4971fbaf6f508b6565592dd8aea to your computer and use it in GitHub Desktop.

Select an option

Save kartick14/5a08f4971fbaf6f508b6565592dd8aea to your computer and use it in GitHub Desktop.
jQuery: check if element is visible on screen
<div class="container">
<div class="text text-1">
Lorem ipsum <span></span>
</div>
<div class="text text-2">
Lorem ipsum <span></span>
</div>
</div>
$(window).scroll(function(){
$('.text').each(function(){
if(isScrolledIntoView($(this))){
$(this).children('span').text('visible');
}
else{
$(this).children('span').text('invisible');
}
});
});
function isScrolledIntoView(elem){
var $elem = $(elem);
var $window = $(window);
var docViewTop = $window.scrollTop();
var docViewBottom = docViewTop + $window.height();
var elemTop = $elem.offset().top;
var elemBottom = elemTop + $elem.height();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
$red:#f20;
.container{
height:100rem;
.text{
text-align:center;
font-size:1.5rem;
&.text-1{
margin-top:5rem;
}
&.text-2{
margin-top:50rem;
}
span{
color:$red;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment