2012-08-13 61 views
0

我想在用戶單擊按鈕時在多個divs之上添加圖像。如何將圖像添加到多個div

所以

---------- 
|   | 
---------- 
---------- 
|   | 
---------- 
---------- 
|   | 
---------- 
---------- 
|   | 
---------- 

button 

點擊一個按鈕

OO後意味着圖像

---------- 
|oo  | 
---------- 
---------- 
|   | 
---------- 
---------- 
|oo  | 
---------- 
---------- 
|   | 
---------- 

我不知道如何做到這一點。任何提示將不勝感激。謝謝。

+3

這種情況會導致這種情況發生嗎?指定的獲取圖像的div是否共享一個類?它會永遠是對方嗎?該模式是重要的 – 2012-08-13 16:34:42

回答

2

我打算採用與「每隔一個」不同的假設。這裏有一個jsfiddle for demonstration

這個解決方案允許任何div在按鈕點擊時獲取圖像,只要你已經識別它們或以某種方式標記它們。所以...

如果你的DOM確定哪些元素應該通過一些類的命名獲得一個畫面:

<div class="yes"> </div> 
<div class="no"> </div> 
<div class="yes"> </div> 
<div class="no"> </div> 
<button id="button">Click me</button>​ 

並與一些CSS像如下:

.picture{ 
    background-image: url("http://lorempixel.com/200/100/") 
} 

所有你需要的是像這樣的功能:

$('#button').on('click', function() { 
    $('.yes').addClass("picture"); 
});​ 

1

我想下面的HTML:

HTML

<div class="hasimg"></div> 

<div class="hasimg"></div> 

<div class="hasimg"></div> 

<div class="hasimg"></div> 

然後在點擊鏈接試試這個:

jQuery的

$('button').on('click', function() { 
    $('div.hasimg:nth-child(2n+1)').append('<img src="" width="" height="">'); 
}); 

這裏,'div.hasimg:nth-child(2n+1)'將選擇每個奇數divclass=hasimg

爲了使該圖像頂部,你可以使用一些CSS像下面:

CSS

div.hasimg { 
    position: relative 
} 
div.hasimg img { 
    z-index: 100; 
    position: absolute; 
    /* and necessary config */ 
} 

就修改CSS爲您的需要。

0

您最好使用<table>以獲得穩定的佈局,例如;

<table> 
    <tr><td>Row with Index #0</td></tr> 
    <tr><td>Row with Index #1</td></tr> 
    <tr><td>Row with Index #2</td></tr> 
    <tr><td>Row with Index #3</td></tr> 
</table> 

而且我認爲你正在尋找一個類似的解決方案;

$('#mybutton').click(function() { 
$("tr:odd").css("background-image", "url('http://jsfiddle.net/favicon.png')"); 
}); 

Here是一個工作現場演示。

+0

國際海事組織,表是用於顯示錶格數據,而不是佈局。這可以用CSS和沒有表格來實現。 – 2012-08-13 16:46:00

+0

但這是根據OP – 2012-08-13 16:48:00

+0

指出的佈局提出的建議佈局描述的只是四個框。這是否需要一張桌子? (真正的問題,也許我錯過了一些東西) – 2012-08-13 16:48:58