Показать сообщение отдельно
  #2 (permalink)  
Старый 04.03.2011, 10:16
Аспирант
Отправить личное сообщение для bayrach Посмотреть профиль Найти все сообщения от bayrach
 
Регистрация: 16.01.2011
Сообщений: 71

Проблема решена, кому интересно вот код:
Присваиваем таблице id=main_price и для тех ячеек таблицы, данные в которых необходимо конвертировать присваиваем id="ToConvert" (<td id="ToConvert">100</td>)
Текущая валюта(Валюта по умолчанию):
<div id="IndocatorCur" style="background: url(flags/ua.jpg) no-repeat;">UAH</div>
<div id="CurRUR" style="visibility: hidden;">0.27</div> <!--Курс рубля-->
<div id="CurEUR" style="visibility: hidden;">10</div> <!--Курс евро-->
<div id="CurUSD" style="visibility: hidden;">7.97</div> <!--Курс доллара-->
Выбрать валюту:
<div onclick="convert('RUR');" style="background: url(flags/ru.jpg;) no-repeat;">Руб.</div>
<div onclick="convert('UAH');" style="background: url(flags/ua.jpg;) no-repeat;">Грн.</div>
<div onclick="convert('USD');" style="background: url(flags/en.jpg;) no-repeat;">Дол.</div>
<div onclick="convert('EUR');" style="background: url(flags/eu.jpg;) no-repeat;">Евро</div>

function convert(val){
    var TablePrice = document.getElementById("main_price");
    var trList = TablePrice.getElementsByTagName("tr");
    var IdVal = document.getElementById("IndocatorCurHide");
    var IdCur = document.getElementById("IndocatorCur");
    
    var CurUSD = parseFloat(document.getElementById("CurUSD").innerHTML);
    var CurRUR = parseFloat(document.getElementById("CurRUR").innerHTML);
    var CurEUR = parseFloat(document.getElementById("CurEUR").innerHTML);
    
    var Kurce = 1;
    var KurceUAH = 1;
    
    switch (val) {
        case "RUR":
            IdCur.style.backgroundImage = "url('flags/FlagsRussia.jpg')";
            break;
        case "EUR":
            IdCur.style.backgroundImage = "url('flags/FlagsEU.jpg')";
            break;
        case "USD":
            IdCur.style.backgroundImage = "url('flags/FlagsUSA.jpg')";
            break;
        case "UAH":
            IdCur.style.backgroundImage = "url('flags/FlagsUkraine.jpg')";
            break;
    }
    
    for (var i = 0; i < trList.length; i++) {
        var tdList = trList[i].getElementsByTagName('td');
        for (j = 0; j < tdList.length; j++) {
            if (tdList[j].id == "ToConvert") {
                if ((tdList[j].innerHTML != "") && (tdList[j].innerHTML != "-")) {
                    var TmpPrice = parseFloat(tdList[j].innerHTML);
                    switch (IdVal.innerHTML) {
                        case "RUR":
                            switch (val) {
                                case "UAH":
	
                                    TmpPrice *= CurRUR;
                                    break;
                                case "EUR":
                                    TmpPrice *= CurRUR;
                                    TmpPrice /= CurEUR;
                                    break;
                                case "USD":
                                    TmpPrice *= CurRUR;
                                    TmpPrice /= CurUSD;
                                    break;
                            }
                            ;                            break;
                        case "USD":
                            switch (val) {
                                case "UAH":
                                    TmpPrice *= CurUSD;
                                    break;
                                case "EUR":
                                    TmpPrice *= CurUSD;
                                    TmpPrice /= CurEUR;
                                    break;
                                case "RUR":
                                    TmpPrice *= CurUSD;
                                    TmpPrice /= CurRUR;
                                    break;
                            }
                            ;                            break;
                            
                        case "EUR":
                            switch (val) {
                                case "UAH":
                                    TmpPrice *= CurEUR;
                                    break;
                                case "RUR":
                                    TmpPrice *=  CurEUR;
                                    TmpPrice /=  CurRUR;
                                    break;
                                case "USD":
                                    TmpPrice *= CurEUR;
                                    TmpPrice /= CurUSD;
                                    break;
                            }
                            ;                            break;
                            
                        case "UAH":
                            switch (val) {
                                case "RUR":
                                    TmpPrice /= CurRUR;
                                    break;
                                case "EUR":
                                    TmpPrice /= CurEUR;
                                    break;
                                case "USD":
                                    TmpPrice /= CurUSD;
                                    break;
                            }
                            ;                            break;
                    }
                    tdList[j].innerHTML = TmpPrice.toFixed(2);//Math.round(TmpPrice / 0.1) * 0.1;
                    
              
                }
            }
        }
    }
    IdVal.innerHTML = val;
    IdCur.innerHTML = val;
                    
}

Последний раз редактировалось bayrach, 06.03.2011 в 13:30.
Ответить с цитированием