Я использую индикатор выполнения YUI, но у меня есть некоторые проблемы с ним.
Обычно, чтобы изменить значение индикатора выполнения, можно использовать:
progressBar.set('value', 10000);
Где value
- это то, что я пытаюсь изменить, а 10000
- это то, что я хочу изменить. В консоли это возвращает true
Это отлично работает. Но я хочу передать переменную в качестве значения:
progressBar.set('value', total);
Но это не работает для меня, и консоль сообщает false
Вот код:
Это создает и отображает панель:
var progressBar = new YAHOO.widget.ProgressBar({
direction: "ttd",
height: "75px",
width: "750px",
anim: true,
minValue: 0,
maxValue: 85000,
value: 35000
}).render("bar");
var anim = progressBar.get('anim');
anim.duration = 3;
anim.method = YAHOO.util.Easing.bounceBoth;
И это ajax-запрос, чтобы получить значение, которое я хотел бы установить для бара:
var itemTotal, mITotal, donationTotal, total;
function showHint()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var myString = new String(xmlhttp.responseText);
var myArray = myString.split(',');
itemTotal = myArray[0];
mITotal = myArray[1];
donationTotal = myArray[2];
total = myArray[3];
progressBar.set('value', total);
alert(total);
}
}
xmlhttp.open("GET","goal_ajax.php",true);
xmlhttp.send();
}
Есть идеи?