0

我正在尝试自学 javascript。

我有一个图像数组,我试图让它们从数组中弹出并同时推入一个 div 中,以便它们显示在屏幕上而不是在数组内部。

我这样做是为了尝试创建一个黑杰克纸牌游戏。当然,我需要知道如何做到这一点。

任何帮助将不胜感激。

编辑:我尝试了以下方法:

var cards = [], i=0;
while(i<54){
var card = {'1.png': 1};
card.number = ++i;
card.value = "1.png";
cards.push(dealerField) } 

“dealerFIeld”是我的 div。我知道有错误,但它不起作用。但我认为我会撒谎的基本想法就在那里。

4

2 回答 2

0

首先,不要在循环内重新定义你的变量,那只是浪费。然后,您需要创建一个图像标签并将其附加到循环内的“dealerField”。

var cards = [],
    i=0,
    card = {},
    img;

while( i < 54 ){
    card.number = ++i;
    card.value = i + ".png";
    img = document.createElement( "img" );
    img.src = card.value;
    img.alt = card.number;

    document.getElementByID( "dealerField" ).appendChild( img );
}

现在,其中一些有点不必要,例如写入该对象然后立即将其复制到图像中。所以你可以这样做:

var i=0,
    img;

while( i < 54 ){
    img = document.createElement( "img" );
    img.alt = ++i;
    img.src = i + ".png";

    document.getElementByID( "dealerField" ).appendChild( img );
}

更多的

重新阅读您的问题后,您的数组似乎cards实际上可能有一些东西 - 比如卡片对象。显然,我不能确定,因为您没有在其中放置任何示例数据,但这是相同的东西,但使用卡片数组作为数据源:

// cards is an array of card objects with some arbitrary structure
var i = 0,
    len = cards.length,
    card,img;

for( i; i < len; i++){
    img = document.createElement( "img" );
    card = cards[ i ];

    img.src = card.value;
    img.alt = card.number;

    document.getElementByID( "dealerField" ).appendChild( img );
}
于 2013-11-07T18:24:37.270 回答
0

使用jQuery 库来扩展您的 js 功能。然后使用类似的东西:

$("#a_div_marked_by_an_id").html('string you want to replace the div contents with');

'string'您当然也可以使用变量来代替varName

上面的例子将插入

<div id="a_div_marked_by_an_id></div>

创造

<div id="a_div_marked_by_an_id>string you want to replace the div contents with</div>
于 2013-11-07T18:17:56.307 回答