Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Перехват перехода по якорю (https://javascript.ru/forum/jquery/16328-perekhvat-perekhoda-po-yakoryu.html)

dmitriymar 05.04.2011 22:28

InviS,
интересно аж не могу....
если тебя не профи посылали за подобные мысли-это я о контакте,
то ты решил что для профи всё возможно?
повторю здесь то что говорил тебе не один раз там-учи основы-хоть одну книжку прочти!!!

InviS 05.04.2011 23:36

Спасибо, разобрался! Нужно было просто очищать window.location.hash

dmitriymar, не Вам меня учить, как жить, понятно?! Я учу то, что считаю нужным. Если вы такой умный, то чего не можете новичку помочь разобраться со всем? Если не хотите помогать - не пишите вообще! Зачем пытаться кого-то чему-то научить. Может я вообще php разработчик и этот javascript мне до одного места, откуда вам знать.

dmitriymar 05.04.2011 23:51

InviS,
Цитата:

Сообщение от InviS
и этот javascript мне до одного места,

судя по твоим постам в контакте и в рнр ты такойже дуб как и в скрипте

Serg_pnz 06.04.2011 10:22

base.js - этот файл плюс событие в html:

Смотрим на hash, а потом его сбрасываем.

шаг 1. готовим информацию
var query = window.location.hash.substring(1);  
var vars = query.split('#');
var arrforget = new Array(); 
for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split('=');
       arrforget[pair[0]] = pair[1];
  }


шаг 2. скролим, если есть hash и объект с id
function FOnLoad() {
// = = = = подготовка скрола
		var scroll2 = new Fx.Scroll(this, {
			wait: false,
			duration: 1500,
			transition: Fx.Transitions.Quad.easeInOut
		});
if ($defined(arrforget['scrollto']))
{
	if ($defined($(arrforget['scrollto'])))
		{
			scroll2.toElement(arrforget['scrollto']);
			location.hash = ''
		}
}


Ну и собственно сам вызов
<body id="bodyg" onLoad="FOnLoad();">

x-yuri 07.04.2011 06:39

Цитата:

Сообщение от InviS
Может я вообще php разработчик и этот javascript мне до одного места, откуда вам знать.

тогда обратись к специалисту и оплати его работу

самое печальное, что смысла во всех этих отменах скорее всего нету. Только пользователям мешать будет

Proxytel 31.07.2011 21:07

Было бы круто добавить к такому скрипту переходя по якорю прелоадер страницы, который бы сначала затенял слоем бекграйнд страницы, ждал её полную загрузку и плавно исчезал на момент скролинга. Это улучшает визуализацию, если якорь ведёт на другую страницу, а не на текущую..

milov 27.10.2013 14:59

просто очистить window.location.hash работает во всех браузерах. кроме firefox. странно конечно, может и его можно победить?

Deff 27.10.2013 15:20

milov,
window.location.replace(document.URL.split('#')[0])

maxSLON 18.01.2014 11:49

Все это мелочи жизни. Тему можно закрыть:)
P.S. "Изучайте основы алгоритмизации и математику. Язык это мелочи жизни."

Finesse 04.03.2014 12:39

Перехват клика по ссыке сделать не проблема. А как сделать перехват перехода при открытии страницы, то есть если на страницу перешли сразу по ссылке с якорем (index.html#label)?


Часовой пояс GMT +3, время: 07:24.