2011-06-20 47 views
0

我知道這篇文章看起來很長,但我確定有一個非常簡單的解決方案。請仔細閱讀。Concrete5,Imageflow和Fancybox JQuery

好了,所以我有我在這裏,小的PHP獲取圖像:

<div id="<?php echo $smallThumbs; ?>" class="imageflow"> 
<?php 

foreach($images as $imgInfo) { 
$f = File::getByID($imgInfo['fID']); 

    echo '<img src="'; 
    echo $f->getRelativePath(); 
    echo '" longdesc="'; 
    echo $f->getRelativePath(); 
    echo '" '; 
    echo 'alt="'; 
    echo $imgInfo['description']; 
    echo '"/>'; 
     ;}; ?> 

</div> 

這是的fancybox代碼:http://www.pastie.org/2096958

我粘貼它pastie因爲它太長了,我可以」不要做任何事情。

我改變了最後一點從

$( 「登錄-彈出鏈接 」)。的fancybox

$(「。imageflow」)。的fancybox

得到任何結果。現在彈出顯示,但它說

「請求的內容無法加載,請稍後再試。」

在那裏我使用的是相同的功能的另一個地方,它與此代碼爲基礎的圖像,點擊它時運行平穩,顯示彈出

<a class="login-popup-link" href="#login-popup"><img src="images/vid.png" width="280" height="216"/></a> 

請幫幫忙! 我也嘗試在php代碼中添加'a'標籤,但這隻會讓整個畫廊消失。

預先感謝您!

回答

0

Fancybox適用於<a>標籤本身,但在您的代碼中,您將它指向圍繞着'a'標籤的<div>。你需要做的是改變從這個JavaScript的:

$(".imageflow").fancybox({ 

這樣:

$(".imageflow a").fancybox({ 

需要注意的是,如果你想多張圖像組合在一起,這樣就可以在的fancybox點擊箭頭例如:

echo '<img src="'; 
echo $f->getRelativePath(); 
echo '" longdesc="'; 
echo $f->getRelativePath(); 
echo '" rel="gallery1"'; 
echo 'alt="'; 
echo $imgInfo['description']; 
echo '"/>'; 
+0

好吧,所以我試過這個,但它不起作用。在這種情況下,我們需要給每個'a'標籤賦予相同的「rel」屬性。我認爲這是因爲我的imageflow.js內置了一個onClick事件函數。繼承自我的imageflow.js代碼: http://www.pastie.org/2105774 我已將onClick函數更改爲: ** onClick:function(){location.href ='index.php #login-popup'} ** 所以當我使用只是** $(「。imageflow」)。**,我得到一個彈出式單擊,但它表示,內容無法加載。當我在代碼中放置'a'標記時,畫廊根本不加載,我認爲是因爲imageflow無法解析它 – salmanhijazi

+0

因此,從我能理解的角度來看,我爲流行音樂製作的view.js -up,它將圖像src從'a'標籤中定義爲** a class =「login-popup-link」href =「#login-popup」**。如果我將'a'標籤添加到我的php代碼中,imageflow.js無法解析它。如果我不添加它們,view.js不能解析它。所以我需要改變其中的一個以獲得我的結果。最好是,我想要從imageflow.js中刪除onClick函數,並使用'a'標籤添加解析功能。你認爲我是對的?如果是這樣,有可能嗎?再次感謝youuu:D – salmanhijazi

+0

對不起,我不明白這個問題。您應該可以設置每種效果以使用任何類型的標籤。您可能需要閱讀jQuery選擇器以瞭解它們的工作原理,以便您更好地理解可用的選項以及每個插件的代碼。 –