Тема: JS: Особенности и типичные ошибки использования JavaScript
Здравствуйте,уважаемые форумчане!
Хочу поделиться с вами интересной статьей
Особенности и типичные ошибки использования JavaScript
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Серый форум → Общение → JavaScript (браузерный) → JS: Особенности и типичные ошибки использования JavaScript
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте,уважаемые форумчане!
Хочу поделиться с вами интересной статьей
Особенности и типичные ошибки использования JavaScript
JavaScript Гарден удобнее. Фрагменты кода даны именно как текст, а не картинками.
Кстати, никто не скажет, как организовать такое же как у Гардена меню, которое при скролировании подсвечивает главу в которой находится читатель?
Но без jquery и ему подобных, на чистом JS.
DnsIs: по onScroll проверять, какой кусок находится в пределах контейнера...
DnsIs
Размеры и прокрутка элементов;
element.scrollTop...
Спасибо мужики.
Люди, все кому не лень, посмотрите пожалуйста.
http://dnsis.neocities.org
Прикольно. Можно еще сделать на классах, чтобы в коде не указывать стилевые правила. Кода станет чуть больше, но оформление будет отделено от кода, управление будет проще - для смены оформления будет изменена одна строка стилях, а не в коде. И код можно использовать повторно. В любом месте, даже на той же самой сранице.
объявить новый класс
.underline {
border-bottom: 2px solid #DD4B39;
}
добавить немного кода
function class2re(className)
{
return new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)', 'g');
};
function classExists(el, className)
{
return class2re(className).test(el.className);
};
function addClass(el, className)
{
if ( classExists(el, className) ) {
return;
}
el.className += ' ' + className;
};
function removeClass(el, className)
{
var re = class2re(className);
el.className = el.className.replace(re, ' ');
};
подкорректировать существующий
function test () {
if (e1.scrollTop > (e2.offsetTop - 20)) {
addClass(es, 'underline');
removeClass(ef, 'underline');
} else {
removeClass(es, 'underline');
addClass(ef, 'underline');
}
Спасибо Rumata.
Но меня волнует одна корявость, а именно "20" в строке (e2.offsetTop - 20)).
Изменение размера шрифта заголовка h1 {font-size: 25px) от 5px до 125px, вроде бы как не влияет на результат. НО! А вдруг в каком-то частном случае будет работать неправильно?
для IE
if(eo.scrollTop+eo.clientHeight/4>eos.offsetTop)
не уверен в кроссбраузерности clientHeight
В Опере, Огнепанде, Хроме, Осле > 8 пашет
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться