Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 10.11.2011, 20:49
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

Ну коли опу уже не нужно, выложу то что тогда прикинул:
<!DOCTYPE HTML>
<html>
<body> 
<style>
.main * {margin:0;padding:0}
.main h1 {
background: #e8e8e8; /* Old browsers */
background: -moz-linear-gradient(top,  #e8e8e8 0%, #cccccc 92%, #878787 100%); /* FF3.6+ */
background:  -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e8e8e8),  color-stop(92%,#cccccc), color-stop(100%,#878787)); /* Chrome,Safari4+  */
background: -webkit-linear-gradient(top,  #e8e8e8 0%,#cccccc 92%,#878787 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  #e8e8e8 0%,#cccccc 92%,#878787 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  #e8e8e8 0%,#cccccc 92%,#878787 100%); /* IE10+ */
background: linear-gradient(top,  #e8e8e8 0%,#cccccc 92%,#878787 100%); /* W3C */
font-size:20px;
top:0;
left:0;
position:relative;
height:30px;
line-height:30px;
margin-bottom:-30px;
z-index:1;
}
.main p {margin-top:30px;}
#scroll {height:200px;width:300px;overflow:auto;}
.main {width:300px;position:relative;border:1px solid #999;}
</style>
<div class="main">
  <div id="scroll">
    <h1>Заглавие 1</h1>
    <p>Текст 1<br>Текст 2<br>Текст 3<br>Текст 4</p>
    <h1>Заглавие 2</h1>
    <p>Текст 1<br>Текст 2<br>Текст 3<br>Текст 4</p>
    <h1>Заглавие 3</h1>
    <p>Текст 1<br>Текст 2<br>Текст 3<br>Текст 4</p>
    <h1>Заглавие 4</h1>
    <p>Текст 1<br>Текст 2<br>Текст 3<br>Текст 4<br>Текст 2<br>Текст 3<br>Текст 4</p>
    <h1>Заглавие 5</h1>
    <p>Текст 1<br>Текст 2<br>Текст 3<br>Текст 4<br>Текст 2<br>Текст 3<br>Текст 4</p>
  </div>
</div>
<script>
(function(){

function addCss(css) {
  var style = document.createElement("style");
  style.type = "text/css";   
  style.styleSheet?style.styleSheet.cssText=css:style.appendChild(document.createTextNode(css));
  document.getElementsByTagName("head")[0].appendChild(style);
}


var scr = document.getElementById('scroll'),
head = scr.getElementsByTagName("h1"),
len = i = head.length,
pos = [Infinity],
last = head[0],
headerHeight = last.offsetHeight,
headerWidth = scr.clientWidth;

addCss('.main h1{width:'+headerWidth+'px}');

while(i--){pos.unshift(head[i].offsetTop)}

scr.onscroll=function(){
  var top = scr.scrollTop;
  var i=len;
  while(i--&&top<pos[i]);
  last.removeAttribute('style');
  last=head[i];
  if(top<=pos[i+1]-headerHeight) last.style.position='absolute';
  else last.style.top=pos[i+1]-pos[i]-headerHeight+'px';
}
})()
</script>
</body>
</html>

В ие не работает, но подгонять лень, кому надо пусть тот и мучается)
__________________
29375, 35

Последний раз редактировалось Aetae, 10.11.2011 в 20:54.
Ответить с цитированием
  #42 (permalink)  
Старый 10.11.2011, 21:04
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Работает только вверх, да и то на половину(исчезающий верхний заголовок оказывается в середине). Тестил в хроме.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Ответить с цитированием
  #43 (permalink)  
Старый 10.11.2011, 21:07
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Ну он же обещал версию, работающую в firefox.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #44 (permalink)  
Старый 10.11.2011, 21:08
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

И опять же, это ведь бесплатный вариант...
Ответить с цитированием
  #45 (permalink)  
Старый 10.11.2011, 21:10
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

В фаерфоксе нормуль ))
Можно сказать отработал 6000/ на количество не поддерживаемых браузеров
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 10.11.2011 в 21:15.
Ответить с цитированием
  #46 (permalink)  
Старый 10.11.2011, 21:13
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

В Опере полная фигня...
Ответить с цитированием
  #47 (permalink)  
Старый 10.11.2011, 21:18
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

Сообщение от ksa Посмотреть сообщение
В Опере полная фигня...
Я отвечаю тока за фф. =)
Но по идее особой разницы в хроме и опере быть не должно. Нет под рукой проверить, потому не виноватая я.)

Мугу отрыть ещё более сырую, ужасную вресию, которая вроде работало в опере и хроме. Но хз, помойму она не сохранилась)
__________________
29375, 35

Последний раз редактировалось Aetae, 10.11.2011 в 21:23.
Ответить с цитированием
  #48 (permalink)  
Старый 10.11.2011, 21:40
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от DjDiablo
Можно сказать отработал
А может, он не за час сделал.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #49 (permalink)  
Старый 10.11.2011, 21:49
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

2 джня корпел!!!111одынодын
__________________
29375, 35
Ответить с цитированием
  #50 (permalink)  
Старый 10.11.2011, 21:54
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Ну всё тогда) Что ж ты свои же условия только на половину выполняешь?)
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск