Для этого нам понадобится три файла: (index.html; css_fail.css; biblioteca.js)
В файл index.html вставляем секцию, в которой и будет двигаться наш контейнер:
<html> <head> <link href="css_fail.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="biblioteca.js"></script> </head> <body> <div style="position:relative; top:200px; left:0px; height:1500px; width="99%"; border:1px solid blue;"> <section> <div id="work-post-1" class="work-post"> <div class="work-content"> <img src="coloboc.png" style='margin:10px 0px;' height="170" width="210" border="0"> </div> <script type="text/javascript"> jQuery(document).ready(function($) { offset_left = $('#work-post-1 .work-content').offset().left + 0; $(window).bind('resize', function() { offset_left = $('#work-post-1 .work-content').offset().left + 0; }); $(window).scroll(function(event) { var y = $(this).scrollTop(); var workheight_ = $('#work-post-1').height(); var worktop_221 = $('#work-post-1').offset().top; var contentheight_ = $('#work-post-1 .work-content').height(); var contenttop_221 = $('#work-post-1 .work-content').offset().top; if((contentheight_ + 10) < workheight_) { if(contenttop_221 - y < 9 && (workheight_ + worktop_221) - (contentheight_ + y) >= 25) { $('#work-post-1 .work-content').addClass('fixed'); $('#work-post-1 .work-content').css({'left': offset_left + 'px'}); } else if((workheight_ + worktop_221) - (contentheight_ + y) < 25) { $('#work-post-1 .work-content').removeClass('fixed'); $('#work-post-1 .work-content').addClass('absolute'); } else if($('#work-post-1 .work-content').hasClass('fixed') && (contenttop_221 - worktop_221) < 25) { $('#work-post-1 .work-content').removeClass('fixed'); } else if($('#work-post-1 .work-content').hasClass('absolute')) { $('#work-post-1.work-content').removeClass('absolute'); $('#work-post-1 .work-content').css({'left': offset_left + 'px'}); $('#work-post-1 .work-content').addClass('fixed'); } } }); }); </script> </div> </section> </div> </body> </html> |
посмотреть
В файле css_fail.css мы зададим размеры нашим блокам и позиционирование на экране:
.work-post { width="99%"; height: 900px; border:1px solid green; position: relative; left: 10px; } .work-content.fixed { position: fixed; width="99%"; height: 180px; top: 10px; border:1px solid gold; } .work-content.absolute { position: absolute; width="99%"; height: 180px; bottom: 0px; left: 0px !important; border:1px solid red; } |
В файл biblioteca.js необходимо записать библиотеку jquery, которую вы можете скачать у нас или с официального сайта.
И так можете посмотреть, что у нас получилось: Взглянуть!