Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.03.2016, 08:12
Интересующийся
Отправить личное сообщение для kovalenko3331 Посмотреть профиль Найти все сообщения от kovalenko3331
 
Регистрация: 14.08.2015
Сообщений: 17

Нумерация в обратном порядке
Уважаемые форумчане, помогите переделать скрипт.
Есть скрипт плейлиста
var pos = 0;
var poz = 0;
var sea = null;
var width = 530;
var vk = new Object();
(vk = {
    init: function () {
    document.write("<div id=\"player-vk-write\" align=\"center\"><div style=\"display:none\"><ul id=\"player-vk-season\"><li id=\"seasons\"></li></ul></div><div id=\"player-vk-player\"></div><ul id=\"player-vk-serial\"></ul><div style=\"display:none\"><a href=\"javascript://\" class=\"prev\" onclick=\"vk.move(1);\">prev</a><a href=\"javascript://\" class=\"next\" onclick=\"vk.move(0);\">next</a></div><a href=\"javascript://\" class=\"prev1\" onclick=\"vk.move1(1);\">prev</a><a href=\"javascript://\" class=\"next1\" onclick=\"vk.move1(0);\">next</a><\/div>")
    },
    player: function (a, b) {
        document.getElementById("player-vk-player").innerHTML = "";
        var d = document.createElement("iframe");
        d.src = String(a);
        d.width = "100%";
        d.height = "372";
        d.setAttribute("border", "0");
        d.setAttribute("frameborder", "0");
        d.setAttribute("scrolling", "no");
        d.setAttribute("allowfullscreen", "");
        d.setAttribute("webkitallowfullscreen", "");
        d.setAttribute("mozallowfullscreen", "");
        d.setAttribute("oallowfullscreen", "");
        d.setAttribute("msallowfullscreen", "");
        document.getElementById("player-vk-player").appendChild(d);
        if (document.getElementById("player-vk-serial")) {
            c = document.getElementById("player-vk-serial").getElementsByTagName("span");
            for (var i = 0; i < c.length; i++) {
                c[i].removeAttribute("class")
            }
        }
        b.setAttribute("class", "active")
    },
    season: function (a, b) {
        if (document.getElementById("player-vk-season")) {
            c = document.getElementById("player-vk-season").getElementsByTagName("span");
            for (var i = 0; i < c.length; i++) {
                document.getElementById("season" + i).style.display = "none";
                c[i].removeAttribute("class")
            }
            document.getElementById("season" + a).style.display = "";
            sea = a
        }
        b.setAttribute("class", "active")
    },
    show: function (a, b) {
        for (var i = 0; i < a; i++) {
            document.getElementById("player-vk-season").getElementsByTagName("li")[0].innerHTML += "<span onclick=\"vk.season(" + i + ", this)\">Сезон " + (i + 1) + "</span>";
            document.getElementById("player-vk-serial").innerHTML += "<li id=\"season" + i + "\" style=\"display:none;\"></li>"
        }
        for (var i = 0; i < a; i++) {
            for (var j = 0; j < b[i].length; j++) {
                document.getElementById("season" + i).innerHTML += "<span onclick=\"vk.player('" + b[i][j] + "', this);\">" + (j + 1) + " серия</span>"
            }
        }
        document.getElementById("player-vk-season").getElementsByTagName("span")[0].setAttribute("class", "active");
        document.getElementById("player-vk-season").getElementsByTagName("span")[0].click();
        document.getElementById("season0").getElementsByTagName("span")[0].click();
        document.getElementById("season0").style.display = ""
    },
    move: function (d) {
        var a, b;
        var c = document.getElementById("seasons");
        var e = c.offsetWidth;
        var f = c.offsetLeft;
        if (d == 0) {
            clearTimeout(a);
            b = setInterval(function () {
                pos = pos - 10;
                if (pos >= (f - width) && pos >= -(e - width)) {
                    c.style.left = pos + "px"
                } else clearTimeout(b)
            }, 15)
        }
        if (d == 1) {
            clearTimeout(b);
            b = setInterval(function () {
                pos = pos + 10;
                if (pos <= (f + width) && pos <= 0) {
                    c.style.left = pos + "px"
                } else clearTimeout(b)
            }, 15)
        }
    },
    move1: function (d) {
        var a, b;
        var c = document.getElementById("season" + sea);
        var e = c.offsetWidth;
        var f = c.offsetLeft;
        if (d == 0) {
            clearTimeout(a);
            b = setInterval(function () {
                poz = poz - 10;
                if (poz >= (f - width) && poz >= -(e - width)) {
                    c.style.left = poz + "px"
                } else clearTimeout(b)
            }, 15)
        }
        if (d == 1) {
            clearTimeout(b);
            b = setInterval(function () {
                poz = poz + 10;
                if (poz <= (f + width) && poz <= 0) {
                    c.style.left = poz + "px"
                } else clearTimeout(b)
            }, 15)
        }
    }
});

в html добавляется вот так
<script type="text/javascript"> 
vk.init(); 
vk.show(1,[['серия 1','серия 2','серия 3']]);
</script>

Как сделать чтобы нумерация серий и сезонов была в обратном порядке?
Только начал учить js и пока не удается реализовать своими силами.
Думаю нужно дописать функцию reverse где то перед этими строками
for (var i = 0; i < c.length; i++) {
и
for (var j = 0; j < b[i].length; j++) {

Заранее спасибо за любую помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 10.03.2016, 10:21
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

for (var i =  с.length-1;i>=0; i--) {
Ответить с цитированием
  #3 (permalink)  
Старый 10.03.2016, 13:27
Интересующийся
Отправить личное сообщение для kovalenko3331 Посмотреть профиль Найти все сообщения от kovalenko3331
 
Регистрация: 14.08.2015
Сообщений: 17

Сообщение от Deff Посмотреть сообщение
for (var i =  с.length-1;i>=0; i--) {
Спасибо за ответ. Но к сожалению не работает так.
Ответить с цитированием
  #4 (permalink)  
Старый 10.03.2016, 22:06
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от kovalenko3331 Посмотреть сообщение
Спасибо за ответ. Но к сожалению не работает так.
var c= [0,1,2,3,4,5,6,7,8,9];
var c2 = [];
for (var i =  c.length-1;i>=0; i--) {c2.push(c[i]);}
alert(c2)
Ответить с цитированием
  #5 (permalink)  
Старый 11.03.2016, 03:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от kovalenko3331
vk.show(1,[['серия 1','серия 2','серия 3']]);
Если так, то почему в функции for (var i = 0; i < a; i++), чего перебирать то?

Можно просто извлекать элементы массива начиная с конца:

while(e = b.pop()) ...
Ответить с цитированием
  #6 (permalink)  
Старый 11.03.2016, 06:35
Интересующийся
Отправить личное сообщение для kovalenko3331 Посмотреть профиль Найти все сообщения от kovalenko3331
 
Регистрация: 14.08.2015
Сообщений: 17

Deff, Еще раз спасибо за ответ!
Я немного не так описал вопрос, дело в том, что серии нумеруются автоматически. Но ваш ответ направил меня так сказать в нужное русло, и я решил задачу.
Ответить с цитированием
  #7 (permalink)  
Старый 04.06.2018, 14:38
Новичок на форуме
Отправить личное сообщение для Alt3 Посмотреть профиль Найти все сообщения от Alt3
 
Регистрация: 04.06.2018
Сообщений: 1

kovalenko3331,Не поделитесь секретом, а то я уже с этим скриптом замучился.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При запуске теста вопросы в произвольеном порядке Dr.Maksss Элементы интерфейса 13 30.09.2015 21:53
Как отобразить данные в обратном порядке. ruslite Элементы интерфейса 0 25.03.2014 05:19
Цикл for в обратном порядке Marker Общие вопросы Javascript 5 13.01.2013 12:22
Как добавлять элементы link в head в нужном порядке? khusamov Events/DOM/Window 1 27.01.2012 22:28
Автоматическая нумерация списка yuryspb Элементы интерфейса 7 24.03.2009 22:41