我想要一个按钮,打开fancybox rel-group与某张图片。我不太确定这是否可行,但我会试一试。我的问题是,如果用户点击一个链接,我想执行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);
该代码基于this answer。我希望 jQuery.fancybox.pos(2)
的作品。但目前我没有得到点击功能的工作。我做错了什么?
编辑:
我的当前设置:
<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);
仍然不起作用。有没有机会?也许是因为我在该页面上有多个fancybox?我也试过jQuery('.fancybox').fancybox.pos(currentImage);
,但是我收到错误消息,说它不是一个函数。
我试过了,但没有奏效。 'currentImage'是一个来自当前呈现的jCarousel图像的数字。我的锚看起来像这个''。确定一个'alert'完成这项工作。但是'fancybox.pos'似乎不起作用。你知道如何使用这个功能吗? – testing
看我的编辑。我不会为你编码,所以圆顶研究你自己。 – Blender
我已经有了你发布的代码。我目前的问题是,我还没有发现如何使用'jQuery.fancybox.pos'函数... – testing