我想要一個按鈕,打開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