Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.06.2012, 11:10
Интересующийся
Отправить личное сообщение для l@pteff Посмотреть профиль Найти все сообщения от l@pteff
 
Регистрация: 12.11.2010
Сообщений: 15

Вопрос по совместной работе fancybox и livequery
Здравствуйте, для применения эффекта fancybox'а к картинкам, добавляемым аяксом из бд, подключил плагин livequery, но совместить их не получается, фэнсибокс не работает и картинка открывается просто в окне браузера. Вот код:
<a class="gallery2" href="../modal_description/auto/auto_1.php">
<span>
<img style="width:100px; height:50px" src="../images/auto/auto_1.jpeg" />
</span></a>

настройка модальных окон: пробовал сделать так:
$("a.gallery2").livequery(function() {
$("a.gallery2").fancybox({

/*код fancybox'а*/

});
});

Если кто-то сталкивался с подобной проблемой, подскажите пожалуйста как можно добиться эффекта fancybox к картинкам добавляемым аяксом, мб есть другие способы?
заранее благодарен
Ответить с цитированием
  #2 (permalink)  
Старый 02.06.2012, 11:32
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Фансибокс придется показывать самостоятельно, как-то так:
$("a.gallery2").live("click", function () {
    $.fancybox({href: this.href});
});

не проверял

Последний раз редактировалось Octane, 02.06.2012 в 11:36.
Ответить с цитированием
  #3 (permalink)  
Старый 02.06.2012, 11:34
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Вот пример что все работает
http://learn.javascript.ru/play/lZTl4


href="modal_description/auto/auto_1.php"

У вас не работает так как, в href у ссылки должен быть путь к изображение которое fancybox должен открыть, а у вас как я вижу стоит ссылка на PHP скрипт.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #4 (permalink)  
Старый 02.06.2012, 13:00
Интересующийся
Отправить личное сообщение для l@pteff Посмотреть профиль Найти все сообщения от l@pteff
 
Регистрация: 12.11.2010
Сообщений: 15

walik, href у ссылки ставлю на php-ксрипт, т.к. под картинкой должно выводиться её название, поле для комментов, и т. д., это всё описано в php-файле.
Octane, пробовал Ваш вариант, но пока не получилось, мб что-то не так делаю. Вот полностью настройка модального окна:
$("a.gallery, a.iframe").fancybox();
$("a.modalbox").fancybox(
{ 
"frameWidth" : 400,
"frameHeight" : 400 
});

$("a.gallery2").livequery('click', function() {
$("a.gallery2").fancybox(
{ 
"margin-top":-5,
"padding" : 15, // отступ контента от краев окна
"imageScale" : false, // Принимает значение true - контент(изображения) масштабируется по размеру окна, или false - окно вытягивается по размеру контента. По умолчанию - TRUE
"zoomOpacity" : false,	// изменение прозрачности контента во время анимации (по умолчанию false)
"zoomSpeedIn" : 1000,	// скорость анимации в мс при увеличении фото (по умолчанию 0)
"zoomSpeedOut" : 1000,	// скорость анимации в мс при уменьшении фото (по умолчанию 0)
"zoomSpeedChange" : 1000, // скорость анимации в мс при смене фото (по умолчанию 0)
"frameWidth" : 850,	 // ширина окна, px (425px - по умолчанию)
"frameHeight" : 880, // высота окна, px(355px - по умолчанию)
"overlayShow" : true, // если true затеняят страницу под всплывающим окном. (по умолчанию true). Цвет задается в jquery.fancybox.css - div#fancy_overlay 
"overlayOpacity" : 0.8,	 // Прозрачность затенения 	(0.3 по умолчанию)
"hideOnContentClick" : false, // Если TRUE  закрывает окно по клику по любой его точке (кроме элементов навигации). Поумолчанию TRUE 
"centerOnScroll" : false // Если TRUE окно центрируется на экране, когда пользователь прокручивает страницу 
});
}); 

$("#menu a, .anim").hover(function() {
$(this).animate({"paddingLeft" : "10px"}, 300)},
function() {$(this).animate({"paddingLeft" : "0"}, 300);
});
$("a.iframe").fancybox(
{ 
"frameWidth" : 800,	 // ширина окна, px (425px - по умолчанию)
"frameHeight" : 600 // высота окна, px(355px - по умолчанию) 
});

Посмотрите плиз, где нужно исправить код
Ответить с цитированием
  #5 (permalink)  
Старый 02.06.2012, 13:18
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

$.fancybox, а не $("…").fancybox
Ответить с цитированием
  #6 (permalink)  
Старый 02.06.2012, 13:34
Интересующийся
Отправить личное сообщение для l@pteff Посмотреть профиль Найти все сообщения от l@pteff
 
Регистрация: 12.11.2010
Сообщений: 15

исправил, там где настройки класса gallery2 но пока безрезультатно
$("a.gallery, a.iframe").fancybox();
$("a.modalbox").fancybox(
{ 
"frameWidth" : 400,
"frameHeight" : 400 
});

$("a.gallery2").livequery('click', function() {
$.fancybox(
{ 
"margin-top":-5,
"padding" : 15, 
"imageScale" : false,
"zoomOpacity" : false,
"zoomSpeedIn" : 1000,
"zoomSpeedOut" : 1000,
"zoomSpeedChange" : 1000, 
"frameWidth" : 850,	
"frameHeight" : 880, 
"overlayShow" : true, 
"overlayOpacity" : 0.8,	
"hideOnContentClick" : false, 
"centerOnScroll" : false
});
});

$("#menu a, .anim").hover(function() {
$(this).animate({"paddingLeft" : "10px"}, 300)},
function() {$(this).animate({"paddingLeft" : "0"}, 300);
});
$("a.iframe").fancybox(
{ 
"frameWidth" : 800,
"frameHeight" : 600
});

может быть, где-то ещё надо исправить? пока фэнсибокс не робит

Последний раз редактировалось l@pteff, 02.06.2012 в 13:36.
Ответить с цитированием
  #7 (permalink)  
Старый 02.06.2012, 15:59
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от l@pteff
$("a.gallery2").livequery('click', function() {
$.fancybox(
{ 
"margin-top":-5,
"padding" : 15, 
"imageScale" : false,
"zoomOpacity" : false,
"zoomSpeedIn" : 1000,
"zoomSpeedOut" : 1000,
"zoomSpeedChange" : 1000, 
"frameWidth" : 850,	
"frameHeight" : 880, 
"overlayShow" : true, 
"overlayOpacity" : 0.8,	
"hideOnContentClick" : false, 
"centerOnScroll" : false
});
});
Ну и как он узнает, какое изображение показать, где href?

Плагин livequery не нужен, в новых версиях jQuery встроен этот функционал
Ответить с цитированием
  #8 (permalink)  
Старый 02.06.2012, 21:41
Интересующийся
Отправить личное сообщение для l@pteff Посмотреть профиль Найти все сообщения от l@pteff
 
Регистрация: 12.11.2010
Сообщений: 15

Octane,
спасибо что откликнулись я Вас наверное уже достал своей тупостью
Подправил код так прописав href к нужному php-скрипту:
$("a.gallery2").live('click', function() {
$.fancybox ({
"href" : '../modal_description/auto/auto_1.php',
"margin-top":-5,
"padding" : 15,
"imageScale" : false, 
"zoomOpacity" : false,	
"zoomSpeedIn" : 1000,	
"zoomSpeedOut" : 1000,
"zoomSpeedChange" : 1000,  
"frameWidth" : 850,	
"frameHeight" : 880, 
"overlayShow" : true, 
"overlayOpacity" : 0.8,	 
"hideOnContentClick" : false, 
"centerOnScroll" : false
});
});

Переход по href происходит но не открывается в модальном окне. Подскажите пжл что здесь нужно исправить?
Ответить с цитированием
  #9 (permalink)  
Старый 03.06.2012, 04:22
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>…</title>
	<link rel="stylesheet" href="http://jscore.ru/fancybox/jquery.fancybox-1.3.4.css">
</head>
<body>
	<script src="http://code.jquery.com/jquery.js"></script>
	<script src="http://jscore.ru/fancybox/jquery.fancybox-1.3.4.js"></script>
	<script>
		$("a.gallery2").live("click", function (event) {

			event.preventDefault();

			$.fancybox({
				href: this.href,
				marginTop: -5,
				padding: 15,
				imageScale: false, 
				zoomOpacity: false,	
				zoomSpeedIn: 1000,	
				zoomSpeedOut: 1000,
				zoomSpeedChange: 1000,  
				frameWidth: 850,	
				frameHeight: 880, 
				overlayShow: true, 
				overlayOpacity: 0.8,	 
				hideOnContentClick: false, 
				centerOnScroll: false
			});

		});
	</script>
	<ul>
		<li><a class="gallery2" href="http://farm5.static.flickr.com/4058/4252054277_f0fa91e026.jpg">img 1</a></li>
		<li><a class="gallery2" href="http://farm3.static.flickr.com/2647/3867677191_04d8d52b1a.jpg">img 2</a></li>
		<li><a class="gallery2" href="http://farm3.static.flickr.com/2775/4110967360_661cd9d99e.jpg">img 3</a></li>
		<li><a class="gallery2" href="http://farm3.static.flickr.com/2591/4135665747_3091966c91.jpg">img 4</a></li>
	</ul>
</body>
</html>

Последний раз редактировалось Octane, 03.06.2012 в 04:26.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по работе responseText plavv AJAX и COMET 1 17.06.2011 10:24
Вопрос по работе ajax/ 0931454574 AJAX и COMET 1 03.04.2011 14:54
Вопрос по работе функций в PHP bayah Серверные языки и технологии 2 12.02.2011 17:42
Вопрос по работе с плагином Fancybox dr_fucker jQuery 1 03.11.2010 11:53
вопрос о работе getElementById(id) gosha_kap Общие вопросы Javascript 1 17.07.2009 07:23