сталкивался с такой необходимостью однажды, подгружать текст из БД запретили, решил всё с помощью жабы.
1) задавать высоту дива(или что там у тебя) с помощью em а не пикселей(так высота совпадает с линией текста)
1.1) Родителю ставишь overflow:hidden
2) внутрь ложить ещё одну дивку с шириной 100% и высотой авто.
3) получаешь высоту в пикселях родителя и вложенного дива, делишь одно на другое получаешь количество страниц.
4) с помощью жабы ставишь потомку margin-top: ( -100%| -200%| -n00%)
(Добавление)
если ещё не решил:
CODE ( htmlphp):
скопировать код в буфер обмена
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="//code.jquery.com/jquery-1.7.min.js"></script> <div class="scrol_page"> <div class="parent"> <div class="children"> сталкивался с такой необходимостью однажды, подгружать текст из БД запретили, решил всё с помощью жабы. 1) задавать высоту дива(или что там у тебя) с помощью em а не пикселей(так высота совпадает с линией текста) 1.1) Родителю ставишь overflow:hidden 2) внутрь ложить ещё одну дивку с шириной 100% и высотой авто. 3) получаешь высоту в пикселях родителя и вложенного дива, делишь одно на другое получаешь количество страниц. 4) с помощью жабы ставишь потомку margin-top: ( -100%| -200%| -n00%) (Отредактировано автором: 20 Февраля, 2012 - 17:01:06) </div> </div> <span class="prev">Предыдущая</span> <span class="next">Следующая</span> </div> <style> .parent{overflow:hidden;height:10em;width:200px;} .children{width:200px;} </style> <script> $.fn.scrol_page = function(){ return $(this).each(function(){ var me = $(this); var height = me.find('.parent').height(); var children_height = me.find('.parent > .children').height(); var count_page = Math.ceil(children_height/height); var current_page = 0; me.set_page = function(p){ me.find('.parent > .children').css({'margin-top':'-'+p+'00%'}); }; me.find('.prev').bind('click',function(){ console.log(current_page-1 < 0 ?count_page:current_page-1); me.set_page(current_page = (current_page-1<0?count_page-1:current_page-1)); }); me.find('.next').bind('click',function(){ console.log(current_page+1==1 ? 1 :current_page+1); me.set_page(current_page = (current_page+1==count_page?0:current_page+1)); }); }); } $('.scrol_page').scrol_page(); </script>
(Отредактировано автором: 20 Февраля, 2012 - 18:23:03)
|