Ajax и Fancybox

humbert
На сайте с 16.03.2006
Offline
540
3022

Нужно загрузить контент через ajax, в том числе и картинки, которые хотелось бы украсить fancybox.

Знаний по ajax ноль. Как правильно это реализовать?

Парсинг прайс-листов, наполнение интернет-магазина товаром. (https://humbert.ru) Любая CMS (Битрикс, OpenCart, Prestashop и даже Woo Commerce )
DkWix
На сайте с 04.11.2007
Offline
75
#1
Нужно загрузить контент через ajax, в том числе и картинки

Для загрузки http://habrahabr.ru/blogs/jquery/71772/

Ну и про fancybox в гугле есть Оочень много интересного, всё жёвано и пережёвано. Хотя бы http://ruseller.com/lessons.php?rub=32&id=238

Если кратко, то подключаете jquery + fancybox. Пишите что-то типа

$(function(){

$("a.img").fancybox();

});

Ну и в теле страницы выводите свои изображения.

<a class="img" title="Подпись к изображению" href="ссылку на полноценное изображение"><img src="ссылка на миниатюру" /></a>

humbert
На сайте с 16.03.2006
Offline
540
#2

Да я не дожевываю разжеванное, мозгов не хватает.

Есть сайт, в нем div, в него через аякс подгружаю контент с картинками. Картинки через fancybox не работают.

DkWix
На сайте с 04.11.2007
Offline
75
#3

Ссылку на сайт

humbert
На сайте с 16.03.2006
Offline
540
#4

Он на локальном сервере, я стараюсь много багов в сеть не кидать, не дай Бог Яша подавится

DkWix
На сайте с 04.11.2007
Offline
75
#5

Ну чтож, тогда вам повезло. У местных телепатов как раз каникулы, может кто из них и заглянет в эту тему.

За сим откланиваюсь и надеюсь, что к вам придёт озарение.

humbert
На сайте с 16.03.2006
Offline
540
#6

У fancybox код такой


<html>
<head>
<script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/js/jquery.fancybox-1.3.1.js"></script>
<script type="text/javascript">$(document).ready(function(){$("a.gallery").fancybox();});</script>
....
</head>
<body>
<a href='/big/img.jpg' class='gallery' target='_blank' title='спасибо телепатам'><img src='/small/img.jpg' class='fancy'></a>
</body>
</html

Но мне надо так примерно


<html>
<head>
<script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/js/jquery.fancybox-1.3.1.js"></script>
<script type="text/javascript">$(document).ready(function(){$("a.gallery").fancybox();});</script>
....
</head>
<body>
<div id='fancy'></div>

<script>
var url='http://site.ru/script.php';
$.post(url, function(data){document.getElementById('fancy').innerHTML=data;});
</script>
</body>
</html

в script.php тупо пишу


echo "<a href='/big/img.jpg' class='gallery' target='_blank' title='спасибо телепатам'><img src='/small/img.jpg' class='fancy'></a>";

И вот не работает. Понимаю, что мне надо заново проинициализировать

<script type="text/javascript">$(document).ready(function(){$("a.gallery").fancybox();});</script>

но не хватает знаний

4arger
На сайте с 17.12.2008
Offline
95
#7


<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="jquery.mousewheel-3.0.2.pack.js"></script>
<script type="text/javascript" src="jquery.fancybox-1.3.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("a.fancy").fancybox();
});
</script>
</head>
<body>
<div id='fancy'>
<a class="fancy" href="1_b.jpg"><img alt="fancy" src="1_s.jpg" /></a>
</div>
</body>
</html>
humbert
На сайте с 16.03.2006
Offline
540
#8

Все, разобрался. Добавил в код

<html> 

<head>
<script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/js/jquery.fancybox-1.3.1.js"></script>
<script type="text/javascript">$(document).ready(function(){$("a.gallery").fancybox();});</script>
....
</head>
<body>
<div id='fancy'></div>

<script>
var url='http://site.ru/script.php';
$.post(url, function(data){document.getElementById('fancy').innerHTML=data;});


$('a.gallery').fancybox();


</script>
</body>
</html

humbert добавил 22.06.2010 в 23:42

4arger, мне именно подгружать надо в div, т.к. контент разный. То был упрощенный пример.

Выше написал как решил все. Я просто не знал как на аяксе инициализировать заново все нужные теги и действия к ним.

4arger
На сайте с 17.12.2008
Offline
95
#9

humbert, мне кажется так лучше будет:


<html>
<head>
<script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/js/jquery.fancybox-1.3.1.js"></script>
<script type="text/javascript">
var url='http://site.ru/script.php';
$(document).ready(function(){
$.post(url, function(data){
$('div#fancy').html(data);
});
$("a.gallery").fancybox();
});
</script>

</head>
<body>
<div id='fancy'></div>
</body>
</html
humbert
На сайте с 16.03.2006
Offline
540
#10

4arger, в конкретном примере, возможно. Но у меня совсем другое:) Пример был, чтобы понять механизм, упрощенный пример.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий