2013-04-08 15 views
0

......或者說是什麼樣的感覺,至少:)99%...

我知道類似的燈箱廣告連結問題之前,一直在問,但我不知道他們完全適用於我的情況。我正在設置它,以便在Lightbox標題/標題中的鏈接打開全尺寸圖像。換句話說,在我的頁面上,我有一個縮略圖,如果點擊該縮略圖,它會打開一個詳細信息(在Lightbox中),然後在該Lightbox的彈出框下方顯示一些文本,以及查看更大圖像的鏈接(理想情況下作爲一個燈箱彈出。)我已經讀了一堆其他線程,並按照指示將<>更改爲html值等,我想我幾乎在那裏,但它不工作。該鏈接在我的代碼中正確顯示,當我將鼠標懸停在鏈接上時,我會看到一個手指指針,但由於某種原因,單擊它時沒有任何反應。我可以右鍵單擊並在新窗口中打開該鏈接,該工作正常,但顯然(燈箱代碼中的某項內容)阻止了它在頁面上的工作。

我猜我想知道的是:

  1. 這可能嗎?
  2. 是否比較簡單(我沒有使用Javascript/jquery的經驗...)
  3. 是否有可能在燈箱彈出窗口中打開另一個燈箱彈出窗口?
  4. 難道還有比燈箱以外的選項,這將允許該

這裏是我到目前爲止的代碼(彩盒Slimbox?):

<a href="<?php echo dirname($image->url()); ?>/detail/<?php echo $image->name() ?>-detail.jpg" rel="lightbox[<?php echo $page->catalogue(); ?>]" title="&lt;a href='<?php echo dirname($image->url()); ?>/max/<?php echo $image->name() ?>-max.jpg' rel='lightbox'&gt;FULL SIZE&lt;/a&gt;"><img src="<?php echo $image->url() ?>" width="<?php echo $image->width() ?>" height="<?php echo $image->height() ?>" alt="<?php echo $image->name() ?>" /></a> 

這裏是它是如何輸出的例子:

<div class="item" style="width: 194px; margin: 3%;"> 
    <a href="http://www.chrissvensson.info/ces85/content/035-035/detail/DSC_3335-detail.jpg" rel="lightbox[035]" title="&lt;a href='http://www.chrissvensson.info/ces85/content/035-035/max/DSC_3335-max.jpg' rel='lightbox'&gt;MAXIMUM&lt;/a&gt;"><img src="http://www.chrissvensson.info/ces85/content/035-035/DSC_3335.jpg" width="194" height="300" alt="DSC_3335" /></a></div> 

只是爲了澄清,我使用燈箱2.5.1(http://lokeshdhakar.com/projects/lightbox2/

非常感謝您能夠提供的任何幫助。再次,我很抱歉,如果這已被回答之前...

+0

你可以發佈HTML/Javascript這個輸出嗎?閱讀和評論會更容易。 – 2013-04-08 16:09:10

+0

這是直接的代碼。會更有幫助(如果是這樣,你能告訴我展示它的最佳方式嗎?這裏似乎有一個字符限制......)包括更多? MAXIMUM Thanks! – ornmnt 2013-04-08 16:21:55

+0

評論確實有限制 - 最好的做法是編輯您的原始問題以添加代碼。 要很好地對代碼進行格式化,您可以從瀏覽器/編輯器中複製並粘貼代碼,然後突出顯示所有代碼並單擊'101010'按鈕或使用鍵盤快捷鍵:ctrl + K. – 2013-04-08 18:41:31

回答

0

這是很難說清楚你到目前爲止沒有你發佈多一點你的代碼,但我可以嘗試通過幾個非常基礎你需要做什麼。

首先,大多數燈箱風格的插件是基於jQuery,這意味着你要在客戶端運行一些JavaScript代碼。

您的PHP將生成一切設置的靜態內容,然後您需要運行jQuery插件,它會執行很多魔術並將其轉換爲lightbox。由於您沒有提及您使用的插件,因此我會選擇fancybox,因爲我認爲它有很多不錯的選項:http://fancybox.net/howto。我不會通過所有的無聊的去設置的詳細信息,因爲他們已經是在網站上,但這裏的兩個最重要的位:

  • 你需要設置的圖像,通過鏈路封裝,如給出的例子。你的PHP應該動態生成這個,類似於你已經做的。

<a id="image_id" href="image_big.jpg"><img src="image_small.jpg" alt=""/></a>

任何JavaScript之前,它只是一個圖像(image_small.jpg)的縮略圖,通過鏈接到全尺寸的一個(image_big.jpg

  • 我們使這個實際工作,你需要將JavaScript插件指向您剛剛創建的鏈接。

我會建議你通過一些基本的jQuery的文檔或教程類似this one讀,你會發現該庫確實有用,但長話短說,通過在jQuery的ID選擇一個元素,你這樣做: $('#image_id')

所有你需要做的,是這個環節上運行的fancybox當插件加載: $('#image_id').fancybox();

最好的地方,把這個距離jQuery的$(document.ready(function(){/*your code in here*/})加載頁面時,這是電話。

隨着fancybox,當窗口打開時添加標題/標題,您只需要將caption="caption here"屬性添加到您創建的<a>錨點。

關於你提到的有關的燈箱內彈出一個燈箱彈出的問題,它是完全可能的,但你必須做一些額外的JavaScript魔術的一點點。我的建議是考慮用戶體驗並找到替代方案(可能只是允許用戶下載大量圖像,或者查找允許您放大某些內容的插件),因爲打開兩個模式對話聽起來讓用戶感到非常困惑!

無論如何,希望這有助於。

+0

非常感謝您的支持,深思熟慮的迴應!對此,我真的非常感激。我會仔細檢查它,並檢查你發送的鏈接。同時,僅僅回答一些問題,並澄清一下,我正在使用Lightbox 2(http://lokeshdhakar.com/projects/lightbox2)。到目前爲止,我對此非常滿意,但如果您認爲我可以用Fancybox完成更多工作,我會樂於改變。 – ornmnt 2013-04-08 20:17:06

+0

我會嘗試在你原先建議的原始問題中加入一些代碼。與此同時,查看其中一個頁面可能是最簡單的:(http://www.chrissvensson.info/ces85/035) 除了最大顯示的「MAXIMUM」鏈接以外,一切工作都正常作爲Lightbox彈出框的標題。理想情況下,這是我想要工作的東西。網頁上的html似乎表明鏈接_應該工作,但我認爲有些東西阻止了它... – ornmnt 2013-04-08 20:22:17

+0

我非常感謝您關於用戶體驗的觀點,但說實話,如果感覺有點笨拙和令人眩暈,我不介意。我是這裏唯一的客戶,賭注很低,所以我很樂意與分層玩一下:) – ornmnt 2013-04-08 20:25:28