2010-01-06 84 views
0

有興趣知道我是否可以使用jQuery在頁面上查找第一個圖像並將其顯示在調整後的縮略圖內,單擊放大。例如,在這個特定的博客中,當客戶端向圖像添加圖像時,jQuery將查找第一個圖像,並將其顯示爲特定位置中的可點擊縮略圖。如果詳細圖片可以在thickbox,facebox或其他jQuery覆蓋窗口中顯示,那將是理想的。顯示ID內的第一個圖像

在此先感謝您的想法。 傑克遜

回答

2

您可以使用:first選擇器來查找第一個圖像,然後使用克隆,您可以將圖像複製到任何其他位置,並從那裏修改它。

$(document).ready(function() { 

    var firstImage = $('img:first'); 
    var link = $('<a />') 
        .attr('href', '#') 
        .append($('img:first').clone().css({ width:100, height:100 })) 
        .append($('<div />').text('Click to Enlarge')) 
        .click(function(e) { 
         e.preventDefault(); 
         // showDialog(); 
        }); 
    $('.imageThumbnail').append(link); 

    $('.imageDialog').append(firstImage.clone()); 

}); 
+0

當所有這些被持續存在的東西都是圖片的src時,克隆會不會有點矯枉過正(特別是當兩次完成時)? – Ariel 2010-01-06 16:06:52

+0

你只克隆HTML。恕我直言,影響將是最小的 – bendewey 2010-01-06 22:25:00

1

要找到你的頁面的第一形象,你可以使用:first選擇。

$("img:first")將選擇第一個img元素。

如果你想限制父元素內的搜索,那麼你可以

$("#parentElemId").find("img:first") 

如果你可以把這些圖像元素類名,那麼你可以做

$("img.classname:first") 
+1

限制使用第二個選項爲什麼不使用'#parentElemId img:first'或'#parentElemId> img:first'? – bendewey 2010-01-06 04:55:36

+0

好點bendeway。 $(「#parentid img:first」)更清潔。 – Ariel 2010-01-06 05:07:51

+0

@pulse提供的方法顯示了一個有用的優化,如果您計劃對父節點執行其他操作。例如,'var n = $(「#parentElemId」); ... n.find(「img:first」);'。 – 2010-01-06 05:12:17

1

同其他成員一樣有提到你可以通過使用img:first獲得第一張圖片。以顯示爲縮略圖的最簡單的方法是:

$(document).append("<img src='" + $("img:first").attr("src") + "' alt='' class='thickbox' style='width: 50px; height: 50px;' />"); 

class='thickbox'的部分是爲了thickbox插件

這是基於您的評論更具體的例子:

如果原始數據的外觀是這樣的:

<div id="thumbs"></div> 
<div id="article"> 
    <img src="..." alt="" /> 
    Some text.. 
</div> 

您可以使用這樣的事情:

var images = ""; 

$("#article img:first").each(function() { 
    images += "<img src='" + $(this).attr('src') + "' width='45' class='thickbox' alt='Click to enlarge' /> "; 
}); 

$("#thumbs").append(images); 
+0

對不起,我的無知,但我不能從你的代碼看到圖像將被追加到? – Jackson 2010-01-06 06:04:50

+0

在示例中,圖像將簡單地追加到文檔中,表示它將作爲第一項出現。您可以輕鬆地通過用父元素的任何有效選擇器替換文檔 – Ariel 2010-01-06 16:04:19

+0

感謝Ariel。我將在一篇博客中使用它,並附上幾篇文章介紹。每篇文章介紹將包含一個圖像:

這裏的內容
。作爲jQuery的新手,我很難看到如何使用代碼在頁面上的每個介紹中查找圖像,並將其附加到每個介紹的.thumbcontainer,以便每個介紹都有一個縮略圖。在此先感謝您的幫助。 – Jackson 2010-01-07 05:32:47

相關問題