Jquery:
$(document).ready(function() { $("#left").height( $("#right").height() ); $(window).scroll( function(){ if($(window).scrollTop() >= $('#right').offset().top + $('#right').outerHeight() - window.innerHeight) { } else { $('.hideme').each( function(i){ var bottom_of_object = $(this).offset().top + $(this).outerHeight(); var bottom_of_window = $(window).scrollTop() + $(window).height(); if( bottom_of_window > bottom_of_object ){ $(this).animate({'opacity':1},500); } }); } }); });
HTML:
<div id="left"> <li>Hello</li> <li>Hello</li> <li>Hello</li> <li>Hello</li> <li>Hello</li> <li>Hello</li> <li class="hideme">Fade In</li> <li class="hideme">Fade In</li> <li class="hideme">Fade In</li> <li class="hideme">Fade In</li> <li class="hideme">Fade In</li> <li class="hideme">Fade In</li> </div> <div id="right"> Your text here </div>
CSS
#left { height:auto; width: 250px; float: left; overflow: hidden; display: block; } #right { float: right; width: 200px; } #left li { margin:10px; padding:50px; background-color:lightgreen; } .hideme { opacity:0; }
Check out JS Fiddle here: http://jsfiddle.net/e5qaD/4000/
source share