[英]Declaring a single image from a sprite sheet in javascript
我正在嘗試從javascript中的精靈表定義和聲明圖像。 我已經在外部樣式表中定義了圖像,如下所示:
#myimage{ background-position: 0 -751px; width: 21px; height: 21px; }
.dwg { background:url(spriteSheet.png) no-repeat;}
我嘗試了與以下類似的各種安排,但這些安排都沒有用。
myimage=new Image();
myimage.src="background:url('spriteSheet.png') 0 0; width: 35px; height: 16px; no-repeat";
我使用如下圖像:
document.stat.src = myimage.src;
我的Javascript條件邏輯根據狀態在各種圖像之間切換。 該代碼可以很好地處理單個圖像,但是我將它們組合成一個sprite工作表,現在需要從工作表中分配單個圖像。 為了做到這一點,我需要將每個圖像定義為一個JavaScript變量。
應該在background: url...
處插入什么background: url...
字符串?
幾個月后,我開始使用以下方法,這對我來說是最簡單的:
JS代碼:
$('[class*=sprite-]').each(function(){
var crr = this.className.match(/sprite\-(\d+)\-(\d+)/);
if ( crr && crr[2]) {
$(this).css('background-position', '-'+ crr[1] +'px -'+ crr[2] +'px');
$(this).addClass('sprite');
}
});
CSS代碼:
.sprite {
border: none;
background-color: transparent;
background-image: url(your-sprite-image.gif);
background-repeat: no-repeat;
}
HTML代碼(您可以將Sprite坐標替換為“ 50x50”):
<img class="sprite-50-50" width="100" height="200" src="use-a-blank-image.gif" alt="" >
我不確定您要嘗試做什么,因為代碼有點怪異。 src
屬性是圖像的src
。 如果您正在制作精靈...那么您可能應該使用div標簽,甚至不使用img。 子畫面通常不是“ img”標簽,而通常是“ div”標簽,這些標簽的格式設置為使用背景圖像僅顯示子畫面的一幀。 您只需要使用backgroundImage
和backgroundPosition
屬性來調整div的backgroundPosition
屬性,並顯示您創建的精靈。 沒有理由在javascript中創建Image對象,然后嘗試將其應用於您的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.