JavaScript влияет на каждый якорь, я хочу сделать некоторые освобождения - PullRequest
0 голосов
/ 26 ноября 2011

поэтому у меня есть один скрипт, который плавно прокручивает всю страницу. Хороший сценарий. Для этого используются якоря. Таким образом, меню навигации в основном говорит «обо мне» или что-то еще, и при нажатии вся страница прокручивается до раздела «обо мне». Но то, что запрограммировано, это то, что, когда я нажимаю на внутреннюю ссылку привязки, браузер переходит в ТОП, ВЛЕВО. который отлично работает, так как я хочу прокрутить всю страницу.

НО.

Я использую другой скрипт, который позволяет мне щелкнуть опцию в меню, и должно появиться небольшое окно с информацией. НО вместо этого вся страница перемещается, благодаря предыдущему сценарию прокрутки, и помещает новую всплывающую подсказку TOP, LEFT.

Тааак? есть идеи?

init: function () {
    var lnks = document.getElementsByTagName('a');
    for (var i = 0, lnk; lnk = lnks[i]; i++) {
        if ((lnk.href && lnk.href.indexOf('#') != -1) && ((lnk.pathname == location.pathname) || ('/' + lnk.pathname == location.pathname)) && (lnk.search == location.search)) {
            addEvent(lnk, 'click', HtinyScrolling.initScroll, false);
            lnk.onclick = function () {
                return false;
            } // Safari 
        }
    }

1 Ответ

0 голосов
/ 26 ноября 2011

Переписать скрипт прокрутки, чтобы он не влиял на привязки в меню.Не видя никакого кода, мне трудно сказать, что именно нужно изменить.

Лучший способ решить эту проблему - сделать так, чтобы скрипт прокрутки влиял только на якоря определенного класса css, такого как .scrollable, или, наоборот, не влиял на якоря с определенным классом, например, если опцияВ меню есть все опции с классом .option, затем отключите ваш скрипт для якорей с классом .option.Если бы я мог видеть соответствующие части вашего кода, я мог бы помочь в дальнейшем

...