Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Кнопки для спичка select (https://javascript.ru/forum/events/60553-knopki-dlya-spichka-select.html)

рони 07.01.2016 01:29

Alastor,
можно в localStorage запоминать по onchange() запоминать выбор а при загрузке его устанавливать

рони 07.01.2016 02:05

сохранение выбора селектора при перезагрузке
 
Alastor,
onchange не ставить в тег
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<div id="cplayer1" style="display:block;">
<iframe name='film_cinemas' id='film_cinemas' src='http://vk.com/video_ext.php?oid=177595935&id=162959834&hash=71483af4bb9b25b5&hd=3' width='307' height='260' frameborder='0'></iframe>
<div class='vk_select'>
<button class="previous">&#8592</button>
<select size='1' >
<option value='http://vk.com/video_ext.php?oid=177595935&id=162959834&hash=71483af4bb9b25b5&hd=3'>1 серия</option>
<option value="http://vk.com/video_ext.php?oid=177595935&id=162959836&hash=b095322a1122a202&hd=3">2 серия</option>
<option value="http://vk.com/video_ext.php?oid=177595935&id=162959838&hash=947cc72f8178eb3a&hd=3">3 серия</option>
<option value="http://vk.com/video_ext.php?oid=177595935&id=162959840&hash=c00fa8b2df9ead45&hd=3">4 серия</option>
</select>
<button class="next">&#8594</button>
</div></div>

<script>
window.addEventListener("DOMContentLoaded", function() {
    var d = document.querySelector("#cplayer1"),
        a = d.querySelector("select"),
        f = d.querySelector("#film_cinemas");
    a.addEventListener("change", function() {
        f.src = a.value;
        localStorage.setItem("rem", a.value)
    });
    var e = localStorage.getItem("rem");
    e && (a.value = e);
    e = new Event("change");
    a.dispatchEvent(e);
    d.addEventListener("click", function(c) {
        c = c.target;
        var b = a.selectedIndex;
        if (c.classList.contains("previous")) b--;
        else if (c.classList.contains("next")) b++;
        else return;
        0 > b && (b = a.options.length - 1);
        b %= a.options.length;
        a.selectedIndex = b;
        a.dispatchEvent(e)
    })
});
</script>
</body>

</html>

Deff 07.01.2016 05:02

Alastor,
Удобнее все же делать кнопки переключения серий слайдером(по опыту), как на seasonvar: http://seasonvar.ru/serial-11912-Vol...-5-season.html и симпатичнее, принцип запоминания и выбора наверно мало измениться

Alastor 07.01.2016 16:51

Deff,
оно то может и так, ну уже такой плеер стоит потому от него и пляшем, так то как я посмотрю он флеш

Alastor 07.01.2016 16:58

рони,
Да в списке запоминает но в блок инфрейм после перезагрузки не ставит ее)

рони 07.01.2016 19:56

Alastor,
смотрите пост 12 снова

Deff 08.01.2016 02:34

Цитата:

Сообщение от Alastor
оно то может и так, ну уже такой плеер стоит потому от него и пляшем, так то как я посмотрю он флеш

Плеер тут не причем, сделать обертку фрейма HTML слайдером, на на кнопки поставить те же данные, что и у option(к примеру: http://vk.com/video_ext.php?oid=1775...4bb9b25b5&hd=3), в атрибут data="..." ;жмёте кнопку - получаете тот жа эффект, что и от option, можете заказать в разделе работа, если самому трудоёмко

Alastor 09.01.2016 14:24

Цитата:

Сообщение от рони (Сообщение 402916)
Alastor,
смотрите пост 12 снова

не понял(

рони 09.01.2016 16:02

Alastor,
либо вариант работает, либо нет, iframe с нужным src после перезагрузки?

Alastor 09.01.2016 22:36

Ладно то не столь важно, а вот мне интересно а можно как-то этот скрипт заставить работать в експлорере??
Цитата:

Сообщение от рони (Сообщение 402795)
Alastor,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<div id="cplayer1" style="display:block;"><iframe name='film_cinemas' id='film_cinemas' src='http://vk.com/video_ext.php?oid=177595935&id=162959834&hash=71483af4bb9b25b5&hd=3' width='307' height='260' frameborder='0'></iframe>
            <div class='vk_select'><button class="previous">&#8592</button><select size='1' onchange="javascript:if(document.getElementById('film_cinemas')) document.getElementById('film_cinemas').src=this.value;">
<option value='http://vk.com/video_ext.php?oid=177595935&id=162959834&hash=71483af4bb9b25b5&hd=3'>1 серия</option><option value="http://vk.com/video_ext.php?oid=177595935&id=162959836&hash=b095322a1122a202&hd=3">2 серия</option><option value="http://vk.com/video_ext.php?oid=177595935&id=162959838&hash=947cc72f8178eb3a&hd=3">3 серия</option><option value="http://vk.com/video_ext.php?oid=177595935&id=162959840&hash=c00fa8b2df9ead45&hd=3">4 серия</option></select>

<button class="next">&#8594</button>
</div></div>

<script>
window.addEventListener("DOMContentLoaded", function() {
    var d = document.querySelector("#cplayer1"),
    s = d.querySelector("select");
    d.addEventListener("click", function(b) {
     var a = b.target, i = s.selectedIndex;
     if(a.classList.contains("previous")) i-- ;
     else if(a.classList.contains("next")) i++  ;
     else return;
     if(i < 0) i = s.options.length - 1;
     i %= s.options.length;
     s.selectedIndex = i;
     s.onchange()
    })
});
</script>
</body>

</html>



Часовой пояс GMT +3, время: 14:15.