2011-08-17 30 views
1

我正在爲我的網站製作一個自定義組合庫,並且遇到問題。用jQuery在ID上面放置東西

我想讓畫廊向上滑動,當你點擊一個縮略圖,但沒有立即將所有圖像放在頁面上。頁面設置是這樣的:

[ main img ] 
(hidden placeholder) 
    [1][2][3][4][5] 

和代碼應該像這樣:

  1. 點擊拇指得到SRC屬性
  2. 廣場<img src="original+_lg.jpg" />上述(hidden placeholder)<div id="placeholder">
  3. margin-top減去500px以使用CSS3向上滑動圖像

我嘗試過自己編寫腳本,但是我對jQuery很糟糕,而且效果不好。我設法改變了margin-top,但只是手動的,而不是循環,這將是理想的。

我的代碼是:

$(document).ready(function() { 
$("#thumb").click(function() { 
    $("#mask").css({ 
     "margin-top":"-500px" 
    }); 
    $('img#placeholder').attr('src',function(i,e){ 
     return e.replace("slides/thumb_lg.jpg"); 
    }) 
}); 

});

正如你所看到的那樣,它並沒有真正的工作。

我很失望,我不知道這一點,因爲我設法實際上體面的主頁(http://beta.jacobbearce.com/

我真的很欣賞的幫助編寫的jQuery。謝謝!

編輯:小澄清:

這將會是爲這個偉大的腳本,讓你點擊拇指的SRC屬性,去掉最後四個字符(擺脫.JPG的),然後加入在_lg.jpg上顯示正確的大圖像,將新的<img src="original+_lg.jpg">放在佔位符div上方,然後從邊距減去500px,以便它向上滑動以顯示新圖像。我知道有點複雜,但這對我正在嘗試做的事情是最好的。

+0

難道是你的'replace'函數中只有一個參數,當你有兩個?你能發佈相應的HTML嗎? – sdleihssirhc

回答

2

您可以使用.before()隱藏的佔位符之前插入新的圖像到DOM:根據需要

$('#placeholder').before('<img src="original+_lg.jpg" />'); 

然後調整幅度。

+0

啊謝謝,這清除了它的一部分。 – JacobTheDev

+0

你能澄清第二部分嗎?當它不起作用時,你是如何嘗試更改保證金的? –

+0

我想要做的是讓它做一些數學運算,所以當你添加一張新圖片時,它會有一些像'margin = originalMargin -500px'這樣的東西,因爲每次添加圖片時,它都必須向上移動額外500px顯示圖像。 – JacobTheDev