Кнопки для спичка 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, время: 17:11. |