1

Тема: JS: Особенности и типичные ошибки использования JavaScript

Здравствуйте,уважаемые форумчане!
Хочу поделиться с вами интересной статьей
Особенности и типичные ошибки использования JavaScript

2

Re: JS: Особенности и типичные ошибки использования JavaScript

JavaScript Гарден удобнее. Фрагменты кода даны именно как текст, а не картинками.

( 2 * b ) || ! ( 2 * b )

3

Re: JS: Особенности и типичные ошибки использования JavaScript

Кстати, никто не скажет, как организовать такое же как у Гардена меню, которое при скролировании подсвечивает главу в которой находится читатель?
Но без jquery и ему подобных, на чистом JS.

Нас невозможно сбить с пути, нам пофигу куда идти.

4

Re: JS: Особенности и типичные ошибки использования JavaScript

DnsIs: по onScroll проверять, какой кусок находится в пределах контейнера...

5

Re: JS: Особенности и типичные ошибки использования JavaScript

DnsIs
Размеры и прокрутка элементов;
element.scrollTop...

Забыл пароль и потерял e-mail.

6

Re: JS: Особенности и типичные ошибки использования JavaScript

Спасибо мужики.

Нас невозможно сбить с пути, нам пофигу куда идти.

7

Re: JS: Особенности и типичные ошибки использования JavaScript

Люди, все кому не лень, посмотрите пожалуйста.
http://dnsis.neocities.org

Нас невозможно сбить с пути, нам пофигу куда идти.

8

Re: JS: Особенности и типичные ошибки использования JavaScript

Прикольно. Можно еще сделать на классах, чтобы в коде не указывать стилевые правила. Кода станет чуть больше, но оформление будет отделено от кода, управление будет проще - для смены оформления будет изменена одна строка стилях, а не в коде. И код можно использовать повторно. В любом месте, даже на той же самой сранице.

объявить новый класс


.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');
        }
( 2 * b ) || ! ( 2 * b )

9

Re: JS: Особенности и типичные ошибки использования JavaScript

Спасибо Rumata.
Но меня волнует одна корявость, а именно "20" в строке (e2.offsetTop - 20)).
Изменение размера шрифта заголовка h1 {font-size: 25px) от 5px до 125px, вроде бы как не влияет на результат. НО! А вдруг в каком-то частном случае будет работать неправильно?

Обновил

Нас невозможно сбить с пути, нам пофигу куда идти.

10

Re: JS: Особенности и типичные ошибки использования JavaScript

для IE

if(eo.scrollTop+eo.clientHeight/4>eos.offsetTop)

не уверен в кроссбраузерности clientHeight

11

Re: JS: Особенности и типичные ошибки использования JavaScript

В Опере, Огнепанде, Хроме, Осле > 8 пашет

Нас невозможно сбить с пути, нам пофигу куда идти.