Javascript.RU

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

В Ajax контенте не работает скрипт
Вот, все говорят, купи слона что сто раз обсуждалось, а я так и не нашел решения. Правда я со скриптами не очень как-то.

Суть проблемы: При наведении на новость (картинку) срабатывает скрипт который отображает/скрывает рейтинг. А когда до низа страницы дохожу ajax-ом подгружаются ещё новости. Так вот, в контенте подгруженном ajax-ом скрипт не работает.

Только, мне бы по-проще объяснить, если можно. Да и от готового решения не откажусь.

Вот собственно сайт (картинки тестовые, всё не доделано ) - http://test.artmouse.net/

Да, как видите сплошной jquery.
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2013, 16:00
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 13,120

Сообщение от noid
в контенте подгруженном ajax-ом скрипт не работает
Как вариант на тех элементах просто нет обработчиков...
Ответить с цитированием
  #3 (permalink)  
Старый 25.08.2013, 16:44
Аспирант
Отправить личное сообщение для noid Посмотреть профиль Найти все сообщения от noid
 
Регистрация: 16.09.2012
Сообщений: 38

ну наверное, я копал интернеты, есть решения, но мне не хватает знаний вообщем-то. Потому и спрашиваю. Сам код (который не срабатывает)
$(document).ready(function() {
	
	var element = $('#dle-content .main-news');
	for (i=0; i<element.length; i++)
		{
			$(element[i]).addClass('news-'+i);
		}
		
	$('#dle-content .main-news').hover(
		function() {
			$('.main-news-hidden').stop(true);
			$(this).find('.main-news-hidden').animate({
				'bottom':'0'
			},400
			);
		}, function() {
			$('.main-news-hidden').stop(true);
			$(this).find('.main-news-hidden').animate({
				'bottom':'-120'
			}, 0);
			$('.main-news-hidden').stop(true);
	});
	
	$('.top-news li').hover(
		function() {
			$('.top-news-hidden').stop(true).fadeOut(0);
			$(this).find('.top-news-hidden').animate({
				'opacity':'1'
			},400, function()
				{
					$(this).fadeIn();
				}
			);
		}, function() {
			$('.top-news-hidden').stop(true);
			$(this).find('.top-news-hidden').fadeOut(100);
	});
	
	var element2 = $('.top-news li');
	for (i=0; i<element2.length; i++)
		{
			$(element2[i]).find('.list').append(i+1);
		}
	
});

везде пишут, что document ready грузится при полной загрузке страницы, но при ajax загрузке нет. Пишут, что можно подключить плагин live, вернее уже .on(), но я хз как это делается. Может есть код попроще, который с ajax-ом дружит? А может достаточно заменить строку
$(document).ready(function()

на какую-то другую и всё будет гуд? Ну мне бы очень этого хотелось...
Ответить с цитированием
  #4 (permalink)  
Старый 25.08.2013, 18:14
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 13,120

Сообщение от noid
Пишут, что можно подключить плагин live, вернее уже .on(), но я хз как это делается.
Вот читай
http://jquery-docs.ru/events/live/
Вот про on()
http://jquery.page2page.ru/index.php5/On
Ответить с цитированием
  #5 (permalink)  
Старый 25.08.2013, 18:16
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 13,120

Сообщение от noid
Может есть код попроще, который с ajax-ом дружит?
После получения ответа можно вешать обработчики...
Но on() или live() смотрится лучше...
Ответить с цитированием
  #6 (permalink)  
Старый 25.08.2013, 19:32
Аспирант
Отправить личное сообщение для noid Посмотреть профиль Найти все сообщения от noid
 
Регистрация: 16.09.2012
Сообщений: 38

к сожалению не моя тема, я синтаксиса не знаю. Примерно понял, но написать не получится самостоятельно.
Ответить с цитированием
  #7 (permalink)  
Старый 25.08.2013, 19:39
Аспирант
Отправить личное сообщение для noid Посмотреть профиль Найти все сообщения от noid
 
Регистрация: 16.09.2012
Сообщений: 38

Может кто код подправит мой, а?
Ответить с цитированием
  #8 (permalink)  
Старый 25.08.2013, 21:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 13,120

Сообщение от noid
написать не получится самостоятельно
Тогда бросай это дело... У нас тут есть раздел "Работа", там за деньги тебе сделают...
Ответить с цитированием
  #9 (permalink)  
Старый 26.08.2013, 01:22
Аспирант
Отправить личное сообщение для noid Посмотреть профиль Найти все сообщения от noid
 
Регистрация: 16.09.2012
Сообщений: 38

Да я уже сделал Вот такой вот код простой получился:

$("#dle-content").mouseover(function(){		
	$('.main-news').hover(
		function() {
			$(this).find('.main-news-hidden').stop().animate({
				'bottom':'0'
			},400
			);
		}, function() {
			$(this).find('.main-news-hidden').stop().animate({
				'bottom':'-135'
			},300
			);
	});
});
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт работает на локалки, но не работает на хостинге. Artem88 Общие вопросы Javascript 4 14.11.2012 22:59
скрипт работает в IE не работает в Opera!!! Ikram Opera, Safari и др. 3 29.10.2010 09:04
Не работает jQuery меню с AJAX eugene1986 jQuery 0 08.07.2010 17:49
Java скрипт не работает в Opera Eagle28 Ваши сайты и скрипты 3 07.04.2010 18:36
ajax запросы, работает на одних компах и не работает на других vtornik23 AJAX и COMET 2 22.03.2010 17:22