2014-07-20 35 views
0

我正在製作一個帶有當前xp值和最大xp值的XP欄,並提供了一個腳本來運行它。這裏是我的標記:Javascript級別/ XP欄無法正常工作?

<div class="meter"> 
    <span id="XP" style="width:0px"> 
     <div id="level"></div> 
    </span> 
</div> 

,這裏是我的腳本:

var currentXP=0; 
var maxXP=745; 
var gainXP=5; 
var level=1; 
percentage = (currentXP/maxXP) * 100; 
document.getElementById("XP").style.width = percentage; 
document.getElementById("level").innerHTML="Level : " + level; 
function XPBar() { 
    if (currentXP != maxXP) { 
     currentXP += gainXP; 
     document.getElementById("XP").style.width = percentage; 
    } 
    if (currentXP == maxXP) { 
     currentXP -= maxXP; 
     currentXP += gainXP; 
     level++; 
     document.getElementById("level").innerHTML="Level : " + level; 
     Orbs+=1; 
     document.getElementById("XP").style.width = percentage; 
    } 
} 

主要的是要調整杆根據需要XP的百分比寬度。在這種情況下,其maxXP。它不工作,我不知道爲什麼。

+0

失蹤'%'你能解釋更多的是如何不起作用?期望的行爲是什麼,你會得到什麼? –

+0

該行爲已被解釋爲根據百分比重新調整div的寬度。百分比計算如下:'百分比=(currentXP/maxXP)* 100;'和這裏:'document.getElementById(「XP」)。style.width = percent;' – user3833917

+0

不夠公平。會發生什麼呢? (也許發佈一個jsFiddle,所以我們可以看到?) –

回答

0

我試圖理解你想要什麼,然後創建了以下jsFiddle demo。我希望它包含你想要的核心。

我認爲主要的問題是在 document.getElementById("XP").style.width = percentage + '%';

+0

你的小提琴是空白的。 – user3833917

+0

抱歉。我編輯了鏈接,現在應該可以工作。 – slaweet

+0

謝謝slaweet。這工作! – user3833917