Мне нужна кнопка, которая открывает рел-группу fancybox с определенной картинкой. Я не совсем уверен, если это работает, но я попробую. Моя проблема в том, что я хочу выполнить jQuery, если пользователь нажимает на ссылку. Это код, который у меня есть
var js = "jQuery.fancybox.pos("+currentImage+");";
// create a new function from the "js" string
var newclick = new Function(js);
jQuery("a.enlarge").click(newclick);
Код основан на этом ответе . я надеюсь, что
jQuery.fancybox.pos(2)
работает. Но в настоящее время у меня не работает функция щелчка. Что я делаю не так?
Edit:
Моя текущая настройка:
<script type="text/javascript">
var currentImage = 0;
function getCurrImage(carousel, state){
currentImage = carousel.first-1;
jQuery("a.enlarge").click(function() {
alert(currentImage);
jQuery.fancybox.pos(currentImage);
});
}
jQuery.noConflict();
jQuery(document).ready(function() {
jQuery('#mycarousel').jcarousel({
scroll:1,
'itemLoadCallback': getCurrImage
});
jQuery('a[rel=example_group]').fancybox({
'transitionIn': 'none',
'transitionOut': 'none'
});
});
</script>
jQuery.fancybox.pos(currentImage);
не работает. currentImage
кажется правильным, но предупреждение появляется 4 раза, если кнопка была нажата 4 раза. Это значит:
нажмите 1: currentImage = 0
нажмите 2: currentImage = 1, currentImage = 1
нажмите 3: currentImage = 2, currentImage = 2, currentImage = 2
нажмите 4: currentImage = 3, currentImage = 3, currentImage = 3, currentImage = 3
Обновление:
Новая попытка:
<script type="text/javascript">
var currentImage = 0;
function openfancy(){
jQuery.fancybox.pos(currentImage);
}
function getCurrImage(carousel, state){
currentImage = carousel.first-1;
jQuery("a.enlarge").unbind("click", openfancy);
jQuery("a.enlarge").bind("click", openfancy);
}
jQuery.noConflict();
jQuery(document).ready(function() {
jQuery('#mycarousel').jcarousel({
scroll:1,
'itemLoadCallback': getCurrImage
});
jQuery('a[rel=example_group]').fancybox({
'transitionIn': 'none',
'transitionOut': 'none'
});
});
</script>
jQuery.fancybox.pos(currentImage);
все еще не работает. Есть ли шанс? Возможно, потому, что на этой странице есть несколько необычных коробок? Я также попробовал это с jQuery('.fancybox').fancybox.pos(currentImage);
, но я получаю сообщение об ошибке, что это не функция.