簡短的回答是肯定的。
處理此問題的方法有很多。使用HTML/CSS,您可以輕鬆地將元素放在彼此之上。
HTML:
<img id="imga" src="img1.png"/>
<img id="imgb" src="img2.png"/>
<img id="imgc" src="img3.png"/>
CSS:
img
{
position:absolute;
top: 0px;
left: 0px;
}
那麼讓我們來看看這裏有什麼重要的。您的HTML文檔中有3個圖像(imga,imgb和imgc)。爲了覆蓋這些,您必須首先將它們的位置設置爲絕對,以便圖像將忽略任何默認佈局行爲。然後,您可以使用左側的和頂部屬性分別定義img元素的x,y座標。在上面的示例中,所有元素都覆蓋在頁面的左上角。在其頂部圖像結束順序控制,您可以使用的z-index屬性,像這樣:
#imga
{
z-index: 10;
}
#imgb
{
z-index: 20;
}
#imgc
{
z-index: 30;
}
這將使IMGC出現在眼前,IMGB出現背後IMGC,和imga背後的一切。 z-index屬性指定哪個元素在另一個元素前面。具有最大z-index的元素排在第一位,其次是第二大等。
爲您的項目,我們可以稍微調整上面的代碼:
HTML
<img id="layer1" src="img1.png"/>
<img id="layer2" src="img2.png"/>
<img id="layer3" src="img3.png"/>
CSS
img
{
position:absolute;
top: 0px;
left: 0px;
}
#layer1
{
z-index: 10;
}
#layer2
{
z-index: 20;
}
#layer3
{
z-index: 30;
}
既然你現在明白是什麼樣的地方,你知道該層3位於頂部(配件層),層2位於中間(您的人)。而layer1位於底部(背景)。然後你就可以創建出象這樣的配件:
<img src="accessory1.png" onClick="setAccessory('accessory1.png');"/>
,然後使用JavaScript,您可以設置在第一層的src等於被點擊附件的。
function setAccessory(path){
document.getElementById('layer1').src = path;
//if you're using jQuery, $("#layer1").attr("src", path);
}
,只要你想你可以創建許多配件。假設你想在你的人物上添加更多的配件,那麼你可以很容易地創建更多的圖層,分配他們的z-索引(甚至可以動態地使用javascript來實現,這是多麼令人興奮!)
總之,我希望你找到這個小教程很有用。出於你的目的,我建議看看jQuery以及元素。他們會很有趣,並且肯定會幫助你的應用程序。
與您的應用程序的好運氣。
分層圖像是可能的HTML和CSS。您甚至可以使用jQuery插件使用鼠標拖動圖像。 – Sparky
我不認爲這與JavaScript有很大關係。這看起來像一個HTML和CSS問題。一旦定義了圖像放置策略,z-index和半透明或不透明度,腳本可能會對動態更改有用。 – RobG
不完全是答案:但並不那麼了不起:http://bloom.io/(他們通過將圖像放在另一個上面來完成) –