Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.07.2013, 00:48
Аспирант
Отправить личное сообщение для salat-production Посмотреть профиль Найти все сообщения от salat-production
 
Регистрация: 22.10.2012
Сообщений: 40

Location.hash
Имеется простенький скриптец для модльных окон PrettyPhoto.

хэш который присваивается элементу не воспринимается в условии.

Стандартная функция:
function setHashtag(){
    if(typeof theRel == 'undefined') return;
    location.hash = theRel+'/'+rel_index+'/';
};


То что хочу видеть:
function setHashtag(){
    if(typeof theRel == 'undefined') return;
    location.hash = theRel+'='+rel_index;
};


Так вот суть в том, что по ссылке
Код:
http://mysite.ru/video/twd.php#id/1/
- при переходе открывает модальное окно
Код:
http://mysite.ru/video/twd.php#id=1
- при переходе ничего не происходит

Есть такая конструкция, которая грабит ссылку (не понимаю имеет ли она отношение к этому косяку):

if(!pp_alreadyInitialized && getHashtag())
    {
    pp_alreadyInitialized = true;

    hashIndex = getHashtag();
    hashRel = hashIndex;
    hashIndex = hashIndex.substring(hashIndex.indexOf('/')+1,hashIndex.length-1);
    hashRel = hashRel.substring(0,hashRel.indexOf('/'));

    setTimeout(function(){ 
    $("a["+pp_settings.hook+"^='"+hashRel+"']:eq("+hashIndex+")").trigger('click'); },50);
    }


Если кто не ленивый здесь полный скрипт: http://jsfiddle.net/yhtLz/
Параметр в 752 строке

Я уже все..в ауте. не понимаюв чем лаг.
Заранее огромное спасибо

Последний раз редактировалось salat-production, 28.07.2013 в 00:56.
Ответить с цитированием
  #2 (permalink)  
Старый 28.07.2013, 00:52
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

очевидно, если вы что-то меняете в setHashtag(), нужно это же менять в getHashtag(). Покажите эту функцию.
__________________
С моих слов записано верно.
Ответить с цитированием
  #3 (permalink)  
Старый 28.07.2013, 00:55
Аспирант
Отправить личное сообщение для salat-production Посмотреть профиль Найти все сообщения от salat-production
 
Регистрация: 22.10.2012
Сообщений: 40

function getHashtag(){
		var url = location.href;
		hashtag = (url.indexOf('#id') !== -1) ? decodeURI(url.substring(url.indexOf('#id')+1,url.length)) : false;

		return hashtag;
	};

Последний раз редактировалось salat-production, 28.07.2013 в 01:03.
Ответить с цитированием
  #4 (permalink)  
Старый 28.07.2013, 01:08
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

в setHashtag()
location.hash = theRel+'='+rel_index+';';


так попробуйте.. или в getHashtag():
decodeURI(url.substring(url.indexOf('#id')+1,url.length+1))
__________________
С моих слов записано верно.
Ответить с цитированием
  #5 (permalink)  
Старый 28.07.2013, 01:15
Аспирант
Отправить личное сообщение для salat-production Посмотреть профиль Найти все сообщения от salat-production
 
Регистрация: 22.10.2012
Сообщений: 40

неа, не хочет хватать
Ответить с цитированием
  #6 (permalink)  
Старый 28.07.2013, 01:18
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

Сообщение от salat-production Посмотреть сообщение
неа, не хочет хватать
сохраните страницу на которой работаете и выложите архив сюда. в песочнице с таким куском кода нереально разбираться..
__________________
С моих слов записано верно.
Ответить с цитированием
  #7 (permalink)  
Старый 28.07.2013, 01:51
Аспирант
Отправить личное сообщение для salat-production Посмотреть профиль Найти все сообщения от salat-production
 
Регистрация: 22.10.2012
Сообщений: 40

function setHashtag();

На 874 строке
Вложения:
Тип файла: zip location.hash.govnocode.zip (1.34 Мб, 4 просмотров)

Последний раз редактировалось salat-production, 28.07.2013 в 01:59.
Ответить с цитированием
  #8 (permalink)  
Старый 28.07.2013, 03:18
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

856-857 стр:
hashIndex = hashIndex.substring(hashIndex.indexOf('=')+1,hashIndex.length);
hashRel = hashRel.substring(0,hashRel.indexOf('='));


869:
hashtag = (url.indexOf('#id') !== -1) ? decodeURI(url.substring(url.indexOf('#id')+1,url.length)) : false;


876:
location.hash = theRel + '=' + rel_index;
__________________
С моих слов записано верно.
Ответить с цитированием
  #9 (permalink)  
Старый 28.07.2013, 04:25
Аспирант
Отправить личное сообщение для salat-production Посмотреть профиль Найти все сообщения от salat-production
 
Регистрация: 22.10.2012
Сообщений: 40

T-sh,
Большое спасибо.
Тоже самое делал, да не совсем.

Последний раз редактировалось salat-production, 28.07.2013 в 04:52.
Ответить с цитированием
  #10 (permalink)  
Старый 28.07.2013, 04:52
Аспирант
Отправить личное сообщение для salat-production Посмотреть профиль Найти все сообщения от salat-production
 
Регистрация: 22.10.2012
Сообщений: 40

А если уж такая малина пошла.
Как сюда правильно прикрутить replace("#","?")
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
location.hash убрать # avaVusal Общие вопросы Javascript 12 04.07.2012 13:33