Показать сообщение отдельно
  #1 (permalink)  
Старый 03.08.2017, 15:04
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Компактная запись функции
Есть функция, а точнее портянка:
app.ratingTooltipTpl = function (e) {
        var res = "<div id='set-rating" + e.chainId + "'>";
        var rate = e.rating;
        switch (rate) {
            case 0:
                for (var i = 1; i <= 5; ++i) {
                    res += "<span rate=" + i + " chainId=" + e.chainId + " class='action-tooltip rating-empty' onclick='setRating(this)'></span>";
                }
                break;
            case 1:
                res += "<span rate=1 chainId=" + e.chainId + " class='action-tooltip rating-yellow-star' onclick='setRating(this)'></span>";
                for (var i = 2; i <= 5; ++i) {
                    res += "<span rate=" + i + " chainId=" + e.chainId + " class='action-tooltip rating-empty' onclick='setRating(this)'></span>";
                }
                break;
            case 2:
                res += "<span rate=1 chainId=" + e.chainId + " class='action-tooltip rating-yellow-star' onclick='setRating(this)'></span>";
                res += "<span rate=2 chainId=" + e.chainId + " class='action-tooltip rating-yellow-star' onclick='setRating(this)'></span>";
                for (var i = 3; i <= 5; ++i) {
                    res += "<span rate=" + i + " chainId=" + e.chainId + " class='action-tooltip rating-empty' onclick='setRating(this)'></span>";
                }
                break;
            case 3:
                res += "<span rate=1 chainId=" + e.chainId + " class='action-tooltip rating-yellow-star' onclick='setRating(this)'></span>";
                res += "<span rate=2 chainId=" + e.chainId + " class='action-tooltip rating-yellow-star' onclick='setRating(this)'></span>";
                res += "<span rate=3 chainId=" + e.chainId + " class='action-tooltip rating-yellow-star' onclick='setRating(this)'></span>";
                for (var i = 4; i <= 5; ++i) {
                    res += "<span rate=" + i + " chainId=" + e.chainId + " class='action-tooltip rating-empty' onclick='setRating(this)'></span>";
                }
                break;
            case 4:
                res += "<span rate=1 chainId=" + e.chainId + " class='action-tooltip rating-yellow-star' onclick='setRating(this)'></span>";
                res += "<span rate=2 chainId=" + e.chainId + " class='action-tooltip rating-yellow-star' onclick='setRating(this)'></span>";
                res += "<span rate=3 chainId=" + e.chainId + " class='action-tooltip rating-yellow-star' onclick='setRating(this)'></span>";
                res += "<span rate=4 chainId=" + e.chainId + " class='action-tooltip rating-yellow-star' onclick='setRating(this)'></span>";
                res += "<span rate=5 chainId=" + e.chainId + " class='action-tooltip rating-empty' onclick='setRating(this)'></span>";
                break;
            case 5:
                for (var i = 1; i <= 5; ++i) {
                    res += "<span rate=" + i + " chainId=" + e.chainId + " class='action-tooltip rating-yellow-star' onclick='setRating(this)'></span>";
                }
                break;
        }
       
        res = res + "</div></br>Баллы:<span id='rating-rate" + e.chainId + "'>"+rate+"</span>";
        return res;
    };

Возможно ли её упростить, укоротить, записать более компактно, использую jqerry?
Ответить с цитированием