Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.11.2015, 23:14
Новичок на форуме
Отправить личное сообщение для Vandeko Посмотреть профиль Найти все сообщения от Vandeko
 
Регистрация: 20.11.2015
Сообщений: 3

Одностраничная навигация offset()
Здравствуйте, рад обратиться)
Есть боковое фиксированое меню с силками на якоря.
Нужно чтоб расстаяние к целевой секций измерялось относительно первой секции, а не от текущей.
Т.е. первый раз когда пользователь находиться в первой секции єкрана, меню срабатывает правильно переходя в заданную секцию, все последующие разы нет, так как расстаяние уже считается от текущей секции, а не от первой.
$(".menu").on("click","a", function (event) {
		event.preventDefault();
        $(this).parent().addClass('active').siblings().removeClass('active');
		var id  = $(this).attr('href'),
			top = $(id).offset().top;
            
        container.css('top', -top);
        
        console.log("top = "+top);
    });


Есть идея добавлять предадущее значение top (скажем с второй секции вернуться на первую 384+(-384)=0), но не знаю как реализовать такую схему.

Последний раз редактировалось Vandeko, 21.11.2015 в 02:21. Причина: дополнение вопроса
Ответить с цитированием
  #2 (permalink)  
Старый 21.11.2015, 20:32
Новичок на форуме
Отправить личное сообщение для Vandeko Посмотреть профиль Найти все сообщения от Vandeko
 
Регистрация: 20.11.2015
Сообщений: 3

Наверное вопрос слишком сложный
Ответить с цитированием
  #3 (permalink)  
Старый 21.11.2015, 21:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Vandeko,
описание непонятно и макета нет чтоб понять о чём речь.
Ответить с цитированием
  #4 (permalink)  
Старый 22.11.2015, 01:37
Новичок на форуме
Отправить личное сообщение для Vandeko Посмотреть профиль Найти все сообщения от Vandeko
 
Регистрация: 20.11.2015
Сообщений: 3

Спасибо что дали возможность разобрался самому).
В следующий раз опишу вопрос подробней.

Решение:
var top2=0;//глобальная переменная
	$(".menu").on("click","a", function (event) {
		event.preventDefault();
        $(this).parent().addClass('active').siblings().removeClass('active');
		var id  = $(this).attr('href'),
			top = $(id).offset().top;
            top2 +=top;//суммирование расстаяний
            container.css('top', -top2);
        console.log("top = "+top);
    });    
});

Последний раз редактировалось Vandeko, 22.11.2015 в 01:40. Причина: исправл ошибку
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Другой взгляд на javascript Дубров Олег Javascript под браузер 24 27.05.2017 09:15
Jquery offset SpiriKoN jQuery 1 11.11.2014 20:16
AJAX навигация без якоря(Требуется помощ) Radik55rus AJAX и COMET 11 14.08.2014 10:34
не работает метод offset() jQuery cyber Events/DOM/Window 3 06.08.2012 19:39
jqGrid: Клавиатурная навигация posta jQuery 0 01.10.2011 02:34