Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.11.2015, 15:58
Интересующийся
Отправить личное сообщение для Tema52 Посмотреть профиль Найти все сообщения от Tema52
 
Регистрация: 07.06.2011
Сообщений: 13

Переход на другую страницу с прокруткой к нужному блоку
Всем привет, есть такая проблема
Нужно на сайте переходить на другую страницу к нужному якорю.
Ссылка типа <a href="link#anchor"> пробему не решает, так как у сайта вверху при прокрутке контента меню прилипает к топу при прокрутке на определенную высоту. А переход по ссылке, приведенной выше просто показывает блок, а вверху пусто.

Как выйти из положения? Есть способ сперва открывать страницу, а затем спускаться к нужному якорю?

Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 27.11.2015, 16:06
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Tema52, тоже самое ведь будет, если открыть страницу, прокрутить до центра и обновить страницу. Вам скорей всего нужно просто правильно реализовать фиксацию меню к топу, и проблема сама отпадёт.
Ответить с цитированием
  #3 (permalink)  
Старый 27.11.2015, 16:14
Интересующийся
Отправить личное сообщение для Tema52 Посмотреть профиль Найти все сообщения от Tema52
 
Регистрация: 07.06.2011
Сообщений: 13

Не замечал такого, верно, надо думать, как меню прилепить грамотно тогда
Ответить с цитированием
  #4 (permalink)  
Старый 27.11.2015, 16:37
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

.menu.fixed {
     position: fixed;
     top: 0;
}


(function() {
	var menu = document.querySelector('.menu'),
		menuIsFixed = false,
		menuMaxTop = 400;
	
	window.addEventListener('scroll', function() {
		if(this.pageYOffset >= menuMaxTop != menuIsFixed) {
			menuIsFixed = !menuIsFixed;
			menu.classList[menuIsFixed ? 'add' : 'remove']('fixed');
		}
	});
})();
Ответить с цитированием
  #5 (permalink)  
Старый 27.11.2015, 16:37
Интересующийся
Отправить личное сообщение для Tema52 Посмотреть профиль Найти все сообщения от Tema52
 
Регистрация: 07.06.2011
Сообщений: 13

Тогда подскажите пожалуйста, как сделать проверку, чтобы меню прилипло к топу?
<script>
$(function(){
var $up = $("#up");
var $content = $("#content_in3");
var $menu = $("#menu1");
var $menu2 = $("#menu2");
var $menu3 = $("#menu_cat");
var $menu4 = $("#menu_cat2");
var $wrap = $("#wrapper");
$(window).scroll(function(){
if ( $(this).scrollTop() > 255 && $menu.hasClass("yes") ){
$menu.removeClass("yes").addClass("none");
$menu2.removeClass("none").addClass("yes");
$menu3.removeClass("yes").addClass("none");
$menu4.removeClass("none").addClass("yes");
$up.addClass("none");
$wrap.addClass("padding");
$content.addClass("padding");

} else if($(this).scrollTop() <= 255 && $menu2.hasClass("yes")) {
$menu2.removeClass("yes").addClass("none");
$menu.removeClass("none").addClass("yes");
$menu4.removeClass("yes").addClass("none");
$menu3.removeClass("none").addClass("yes");
$up.removeClass("none");
$wrap.removeClass("padding");
$content.removeClass("padding");
}
});//scroll
});
</script>

Тут только условие нужно грамотно прописать?

ЗЫ. Не увидел Ваш ответ, попробую, как вы написали
Ответить с цитированием
  #6 (permalink)  
Старый 29.11.2015, 11:57
Интересующийся
Отправить личное сообщение для Tema52 Посмотреть профиль Найти все сообщения от Tema52
 
Регистрация: 07.06.2011
Сообщений: 13

Увы, Ваш код ничего не дает, не работает
Ответить с цитированием
  #7 (permalink)  
Старый 29.11.2015, 13:14
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Работает: http://jsfiddle.net/aLbarjcs/
Ответить с цитированием
  #8 (permalink)  
Старый 30.11.2015, 13:42
Интересующийся
Отправить личное сообщение для Tema52 Посмотреть профиль Найти все сообщения от Tema52
 
Регистрация: 07.06.2011
Сообщений: 13

1 в 1 копирую Ваш код себе, не работает
Ответить с цитированием
  #9 (permalink)  
Старый 30.11.2015, 13:48
Интересующийся
Отправить личное сообщение для Tema52 Посмотреть профиль Найти все сообщения от Tema52
 
Регистрация: 07.06.2011
Сообщений: 13

Мое меню при обновлении станицы остается на месте, как надо, но при переходе с другой страницы по якорю - нет. Есть какая-то функция, чтобы чуть страницу может двинула? Ибо если чуть двигаешь прокрутку, меню тут же появляется.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переход на другую страницу Step48_rus AJAX и COMET 5 22.09.2015 13:46
Переход на другую страницу Step48_rus jQuery 1 14.09.2015 23:26
Определение user-agent браузера и редирект на другую страницу TuxShot Javascript под браузер 1 10.01.2014 12:27
Открытие новой вкладки и редирект на другую страницу. askot Events/DOM/Window 4 24.02.2013 22:49
Переход на другую страницу Deep Internet Explorer 2 11.01.2010 12:58