Такой вопрос, для общего развития
Есть длинный хтмл текст <div class="wrapper"><div class="text"> Long time ago... </div></div> wrapper = fixed, 100%, 100%, overflow:hidden; Пишу скрипт, который Берет высоту wrapper (800) Делаем для text отступ (margin-top:-800) - получаем вторую страницу. При каждом нажатии на стрелки увеличиваем или уменьшаем margin-top на высоту wrapper, двигаемся по страницам. При ресайзе окна вставляю на верхнюю строку на экране (текущий отступ / 20) div c якорем, выясняю на какой строке якорь, делаю отступ. Что я упустил? |
ксать забавно, если wrapper = fixed, 100%, 100%;overflow-y:hidden;
То возможно можно скрыто ресайзить и в оверлее, контент вне окна |
а как выбрать нпр 120 и 160 строку текста и окружить все между ними в <div></div>?
|
coventgarden,
Хм... а что строки уже в тегах ? Лучше изначально засунуть весь контент в storage, скопировать в переменную. Из переменной(типо стек) заполняем поблочно ( допустим блоками по 300 cимволов), коли высота <div> cтала больше положенной, последний блок удаляем и пихаем его посимвольно, - остаток символов снова в стек, в storage помечаем - вставляем невидимый разделитель для очередной созданной страницы |
может быть посмотреть как в популярных online читалках сделано?
|
Вот тут cхоже по теме: (пример из топика http://javascript.ru/forum/misc/3583...j-verstke.html
Контроль изменения высоты любого из span, как критерий перехода в новыю колонку( новый span), либо еще каких-нибудь действий (Закидываем в один из span контент больше максимально-допустимой его высоты
<!DOCTYPE>
<html>
<head>
</head>
<body>
<style>
html, body, div{height: 100%;margin:0;padding:0;}
.wrp span{
margin: 0;
vertical-align: top;
display: inline-block;
white-space:pre-wrap;
word-wrap: break-word;
min-height: 200px;
max-height: 202px;
width:200px;
border: 1px solid red;
}
.wrp{
position:absolute;
border: 1px solid blue;
white-space:nowrap;
padding:0;
height: auto;
}
</style>
<div class=wrp><iframe name="frame" width="88" height="100%" style="margin:0;position:absolute;border:green solid 1px;/*z-index:-1*/"></iframe>
<span></span>
<span></span>
<span id=third></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<script type="text" id="scr00">
вввввввввввввввввввввввввввввввввввввввввв
вввввввввввввввввввввввввввввввввввввввввв
вввввввввввввввввввввввввввввввввввввввввв
вввввввввввввввввввввввввввввввввввввввввв
вввввввввввввввввввввввввввввввввввввввввв
вввввввввввввввввввввввввввввввввввввввввв
вввввввввввввввввввввввввввввввввввввввввв
вввввввввввввввввввввввввввввввввввввввввв
вввввввввввввввввввввввввввввввввввввввввв
</script>
<script type="text/javascript">
setTimeout(function(){ // Отработка задержки фрейма (для FF и ИЕ)
var timerResize='first';
frame.onresize = function(){ // frame, - Имя фрейма (name=frame) - cм начало Кода;
if(timerResize!=='first')clearTimeout(timerResize);
timerResize=setTimeout( function(){ // Задержка для очистки чрезмерных срабатываний;
alert('Высота div class=wrp изменена.'); // Тело обработки события «onresize»;
},20) // Параметр 20(ms) , - зависит от нужной скорости реагирования на повторные события;
// актуально при плавных изменениях размера элемента,
// либо почти одновременное изменением размера несколькими разными процессами.
}
},200);
setTimeout(function(){ //Докидываем контент в третий span
document.getElementById("third").innerHTML=document.getElementById("scr00").innerHTML;
},7000);
</script>
</body>
</html>
|
Deff реально больной...
|
danik.js, - реально
Задрал, если пишу, не для тебя, помимо есть люди |
| Часовой пояс GMT +3, время: 16:11. |