Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.09.2015, 10:32
Профессор
Отправить личное сообщение для dima85 Посмотреть профиль Найти все сообщения от dima85
 
Регистрация: 14.03.2010
Сообщений: 194

Не преобразовывается html код.
Есть такой код, он ссылки вида:
<a href="/page.php?p=project" class="ajax">Проекты</a>

Делает такими:
<a class="ajax" href="./#project" data-href="/page.php?p=project">Проекты</a

Нажав на такую ссылку происходит загрузка этой страницы в #content. Код отлично справляется с своей задачей. Но если на той загруженной странице в #content есть еще ссылка с таким же class="ajax" он не преобразовывает ее. Подскажите пожалуйста как это сделать.

var a = $("a.ajax");
   a.each(function(i,e){
     e = $(e);
     e.attr("data-href", e.attr("href"))
       .attr("href", "./#"+e.attr("data-href").split('=')[1])
       .on("click.ajax", function (event) {
         var link = e.attr("data-href");
                   $("#content").html('Загрузка...');
                   $.get(link, function (response) {
                     $("#content").html(response);
                   });
         return false;
       });
   })
});
Ответить с цитированием
  #2 (permalink)  
Старый 23.09.2015, 11:22
Аватар для dd_smol
Кандидат Javascript-наук
Отправить личное сообщение для dd_smol Посмотреть профиль Найти все сообщения от dd_smol
 
Регистрация: 08.03.2015
Сообщений: 131

Не понимаю для чего нужны костыли с data-href можно ведь сделать что-то вроде этого.
$('body').on('click.ajax', 'a.ajax', function (e) {
	$("#content")
		.html('Загрузка...')
		.load( $(this).attr('href') );
	
	return false;
});

Последний раз редактировалось dd_smol, 23.09.2015 в 11:29.
Ответить с цитированием
  #3 (permalink)  
Старый 23.09.2015, 11:44
Профессор
Отправить личное сообщение для dima85 Посмотреть профиль Найти все сообщения от dima85
 
Регистрация: 14.03.2010
Сообщений: 194

Не знал. Клева. Спасибо огромное! А можно как-то в url добавлять /#page.php?p=project то есть href нажатой ссылки?
Ответить с цитированием
  #4 (permalink)  
Старый 23.09.2015, 11:52
Аватар для dd_smol
Кандидат Javascript-наук
Отправить личное сообщение для dd_smol Посмотреть профиль Найти все сообщения от dd_smol
 
Регистрация: 08.03.2015
Сообщений: 131

Не понял про что вы спрашиваете? Пример html можно.
Ответить с цитированием
  #5 (permalink)  
Старый 23.09.2015, 11:58
Профессор
Отправить личное сообщение для dima85 Посмотреть профиль Найти все сообщения от dima85
 
Регистрация: 14.03.2010
Сообщений: 194

Нажимаем на: <a class="ajax" href="/page.php?p=project">Проекты</a> У нас идет GET запрос, открывается страница. И в браузере в url мы должны видеть site.com/#page.php?p=project это можно реализовать?

И второе, после нажатия на ссылку, страница прокручивается вверх. Как-то можно избавится от этого прокручивания? Я ранее делал в ссылках onclick="return true;" может есть другой более правильный способ?
Ответить с цитированием
  #6 (permalink)  
Старый 23.09.2015, 12:44
Аватар для dd_smol
Кандидат Javascript-наук
Отправить личное сообщение для dd_smol Посмотреть профиль Найти все сообщения от dd_smol
 
Регистрация: 08.03.2015
Сообщений: 131

$('body').on('click.ajax', 'a.ajax', function (e) {
	var href = $(this).attr('href');
	
	$("#content").html('Загрузка...').load( href );
	
	// По первому вопросу можно сделать что-то в этом роде
	location.href = location.href + '#' + href.substr( href.indexOf('=') + 1 );
	
	// Эта штука отменяет действия, зашитые браузером, то есть прокрутку, переход и т.д.
	return false; 
});

Последний раз редактировалось dd_smol, 23.09.2015 в 12:46.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JQuery не изменяет исходный html код Евгений Бутенко jQuery 5 13.12.2013 17:43
запихнуть код js в тэг html Giku Общие вопросы Javascript 10 07.11.2013 05:33
Требуется выводить код рекламного блока Adsense из файла JavaScript??? speedflow Элементы интерфейса 0 26.05.2012 15:50
код в HTML работает, но не работает в JavaScript Rich Общие вопросы Javascript 8 28.03.2011 23:22
Изменить/удалить код HTML генерированный JS SanaPo Общие вопросы Javascript 2 11.02.2011 19:26