Кнопки для спичка select
вот есть такой код как заставить эти кнопки переключать серии без раскрытия списка
<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">←</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">→</button> </div></div> |
извините за название не могу найти как его поменять(((
|
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">←</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">→</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> |
рони,
Спасибо все работает)) |
Цитата:
П/С кстати тут в редакторе все нормально показывает но на просто хтмл странице перегружает |
Цитата:
Цитата:
|
Да вы правы, странно чего она не скопировалась, отметку например в смысле смотрел 5 серию вот ее как то запомнить в куки наприме, или там какой то галочкой оьметить
|
рони,
как то так) |
Alastor,
всё уж тогда скопируйте по новой. сложно узнать смотрел или нет, может просто стрелочки проверял. |
рони,
так можно сделать как то запоминание серии на которой остановился. так ее как-то отметить |
Alastor,
можно в localStorage запоминать по onchange() запоминать выбор а при загрузке его устанавливать |
сохранение выбора селектора при перезагрузке
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">←</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">→</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> |
Alastor,
Удобнее все же делать кнопки переключения серий слайдером(по опыту), как на seasonvar: http://seasonvar.ru/serial-11912-Vol...-5-season.html и симпатичнее, принцип запоминания и выбора наверно мало измениться |
Deff,
оно то может и так, ну уже такой плеер стоит потому от него и пляшем, так то как я посмотрю он флеш |
рони,
Да в списке запоминает но в блок инфрейм после перезагрузки не ставит ее) |
Alastor,
смотрите пост 12 снова |
Цитата:
|
Цитата:
|
Alastor,
либо вариант работает, либо нет, iframe с нужным src после перезагрузки? |
Ладно то не столь важно, а вот мне интересно а можно как-то этот скрипт заставить работать в експлорере??
Цитата:
|
Alastor,
и какая версия ie? ищите полифилы classList, querySelector и если совсем уж старый то и для addEventListener |
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">←</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">→</button> </div></div> <script> window.onload = function() { var d = document.getElementById("cplayer1"), s = d.getElementsByTagName("select")[0]; d.onclick = function(event) { event = event || window.event var a = event.target || event.srcElement, i = s.selectedIndex; if(a.className.indexOf("previous") != -1) i-- ; else if(a.className.indexOf("next") != 1) i++ ; else return; if(i < 0) i = s.options.length - 1; i %= s.options.length; s.selectedIndex = i; s.onchange() } }; </script> </body> </html> |
Скажите как-то можно это прикрутить к коду
чтобы при воде номера открывало даную серию <form name="test" method="post"> <b>быстрый переход</b> <input type="text" size="1" maxlength=3 pattern="\d*"> <input type="submit" value="ОК"> </form> |
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">←</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">→</button> </div></div> <form name="test" method="post"> <b>быстрый переход</b> <input type="text" size="1" maxlength=3 pattern="\d*" name="num"> <input type="submit" value="ОК"> </form> <script> window.onload = function() { var d = document.getElementById("cplayer1"), s = d.getElementsByTagName("select")[0]; d.onclick = function(event) { event = event || window.event var a = event.target || event.srcElement, i = s.selectedIndex; if(a.className.indexOf("previous") != -1) i-- ; else if(a.className.indexOf("next") != 1) i++ ; else return; if(i < 0) i = s.options.length - 1; i %= s.options.length; s.selectedIndex = i; s.onchange() } var form = document.test; form.onsubmit = function() { var i = (this.num.value - 1)||0 ; if(i < 0) i = 0; if(i > s.options.length - 1) i = s.options.length - 1; s.selectedIndex = i ; this.num.value = ++i; s.onchange(); return false; } }; </script> </body> </html> |
рони,
Вроде все работает, но почему смайл такой? |
рони,
ну вроде норм только когда делаешь клик по списку оно автоматом переключает далее при открытии |
вот так вроде норм
<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">←</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">→</button> </div></div> <form name="test" method="post"> <b>быстрый переход</b> <input type="text" size="1" maxlength=3 pattern="\d*" name="num"> <input type="submit" value="ОК"> </form> <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() }) var form = document.test; form.onsubmit = function() { var i = (this.num.value - 1)||0 ; if(i < 0) i = 0; if(i > s.options.length - 1) i = s.options.length - 1; s.selectedIndex = i ; this.num.value = ++i; s.onchange(); return false; } }); </script> |
правда скрипт у меня первый тот что ты делал))
|
может какие ошибки есть исправь))плиз
правда этот наверное в експлорере работать не будет((( но не переключает серию при открытии списка |
Часовой пояс GMT +3, время: 18:33. |