2016-08-07 5 views
0

私は作業コードを持っています。これは無作為にbodyの背景を私のgifで変更します。JSとの背景のランダム化

var totalCount = 11; 
function ChangeIt() { 
    var num = Math.ceil(Math.random() * totalCount); 
    document.body.background = '/static/img/'+num+'.gif'; 
    document.body.style.backgroundRepeat = "repeat"; 
    } 
window.onload = ChangeIt; 

ここでは、別のHTML要素、たとえばdivの1つと一緒に使用したいと考えています。 document.body.backgrounddocument.getElementById('id').backgroundを変更しても機能しません。コードをどのように変更すればよいですか?

+0

私はこれが助けになると思う:http://stackoverflow.com/questions/15295381/javascript-change-element-background – Zze

答えて

0

これを試しましたか?

document.getElementById('id').style.backgroundImage = "url('/static/img/" + num + ".gif')"; 

また、Math.ceil()とRNGは、画像が01ないに基づいていることを意味します

1.gif 
2.gif 
... 
11.gif 

このような場合の使用Math.floor()でない場合は、次の内容に応じて

0.gif 
1.gif 
... 
10.gif 

要素は、寸法(幅と高さ)を設定する必要があるかもしれません。これは、例えばHTML要素です:

<div id="imagediv" style="width: 320px; height: 640px; background-repeat: repeat;"></div> 

この結果コード:

var totalCount = 11; 

window.onload = function() { 
    var num, node; 

    num = Math.ceil(Math.random() * totalCount); 
    node = document.getElementById("imagediv"); 

    node.style.backgroundImage = "url('/static/img/" + num + ".gif')"; 
}; 
+0

働かない:( – dhatt

0

これは正しい構文でなければなりません:

document.getElementById('id').style.backgroundImage = "url('img_tree.png')"; 
0

document.body.backgroundは、主に身体背景で働いていたが、他のではないHTMLこれを使ったのはdocument.getElementById('id').style.backgroundImage = "url(..)";

var totalCount = 11; 
function ChangeIt() { 
    var divs =document.getElementById('id'); 
    var num = Math.ceil(Math.random() * totalCount); 
    divs.style.backgroundImage = 'url(/static/img/'+num+'.gif)'; 
    divs.style.backgroundRepeat = "repeat"; 
    divs.style.height = "300px"; //testing 
    } 
window.onload = ChangeIt; 
関連する問題