Цитата:
|
Я не знаю как это реализовать
|
solunski.d,
я тоже - не может кнопка одновременно и вверх и вниз работать -- но можно менять действие кнопки в крайних точках |
"но можно менять действие кнопки в крайних точках"
Я и это хотел, я просто не знаю как объяснить уже, я так устал, а работодатель каждый час мне звонить, и говорит "Ну что сделал?" |
solunski.d,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> ul { height: 150px; list-style: none; overflow-y: hidden; margin: 0; padding: 0; width: 80%; } .filter_other1{ margin: 10px; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function(){ var $ul = $('ul'), $maxScroll = $ul[0].scrollHeight - $ul[0].clientHeight, $button = $('.filter_other1'), n = true; function fn() { ($ul.scrollTop() >= $maxScroll || !$ul.scrollTop()) && (n = !n,$button.val(n ? 'вниз':'вверх') ) } $button.click(function () { $('ul').stop().animate({ scrollTop: n ? '+=53' : '-=53' }, 1000, fn); }); }); </script> </head> <body> <ul class="h-filter__ul filter_1"> <li class="h-filter__list"> <input type="checkbox" name="checkboxG1" id="checkboxG1" class="css-checkbox"> <label for="checkboxG1" class="css-label radGroup1 clr">Горошек</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG2" id="checkboxG2" class="css-checkbox"> <label for="checkboxG2" class="css-label radGroup1 clr">Клеточка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG3" id="checkboxG3" class="css-checkbox"> <label for="checkboxG3" class="css-label radGroup1 clr">Линейка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG4" id="checkboxG4" class="css-checkbox"> <label for="checkboxG4" class="css-label radGroup1 clr">Крапенка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG5" id="checkboxG5" class="css-checkbox"> <label for="checkboxG5" class="css-label radGroup1 clr">Удило</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG6" id="checkboxG6" class="css-checkbox"> <label for="checkboxG6" class="css-label radGroup1 clr">Шарм</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG7" id="checkboxG7" class="css-checkbox"> <label for="checkboxG7" class="css-label radGroup1 clr">Горошек</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG8" id="checkboxG8" class="css-checkbox"> <label for="checkboxG8" class="css-label radGroup1 clr">Клеточка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG9" id="checkboxG9" class="css-checkbox"> <label for="checkboxG9" class="css-label radGroup1 clr">Линейка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG10" id="checkboxG10" class="css-checkbox"> <label for="checkboxG10" class="css-label radGroup1 clr">Узор</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG11" id="checkboxG11" class="css-checkbox"> <label for="checkboxG11" class="css-label radGroup1 clr">Крапенка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG11" id="checkboxG11" class="css-checkbox"> <label for="checkboxG11" class="css-label radGroup1 clr">Крапенка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG11" id="checkboxG11" class="css-checkbox"> <label for="checkboxG11" class="css-label radGroup1 clr">Крапенка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG11" id="checkboxG11" class="css-checkbox"> <label for="checkboxG11" class="css-label radGroup1 clr">Крапенка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG11" id="checkboxG11" class="css-checkbox"> <label for="checkboxG11" class="css-label radGroup1 clr">Крапенка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG11" id="checkboxG11" class="css-checkbox"> <label for="checkboxG11" class="css-label radGroup1 clr">Крапенка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG11" id="checkboxG11" class="css-checkbox"> <label for="checkboxG11" class="css-label radGroup1 clr">Крапенка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG11" id="checkboxG11" class="css-checkbox"> <label for="checkboxG11" class="css-label radGroup1 clr">Крапенка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG11" id="checkboxG11" class="css-checkbox"> <label for="checkboxG11" class="css-label radGroup1 clr">Крапенка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG11" id="checkboxG11" class="css-checkbox"> <label for="checkboxG11" class="css-label radGroup1 clr">Крапенка</label> </li> <li class="h-filter__list"> <input type="checkbox" name="checkboxG11" id="checkboxG11" class="css-checkbox"> <label for="checkboxG11" class="css-label radGroup1 clr">Крапенка</label> </li> </ul> <input name="" type="button" value="вниз" class="filter_other1"> </body> </html> |
Спасибо огромное,
|
И опять какая то проблема...
Если зайти с Chrome Первый фильтр, то кнопка не меняет свойства А в Firefox все отлично работает. В чем может быть проблема? Игрался с высотой у элемента ul, если поставить какое нибудь другую высоту может за работать, а может и нет, от чего это зависит?? |
solunski.d,
хром торопится, попробуй так или перепиши на свой вариант 2 поста $(window).load(function(){ var $ul = $('.filter_1'), $maxScroll = $ul[0].scrollHeight - $ul.outerHeight(true), $button = $('.filter_other1'), n = true; function fn() { ($ul.scrollTop() >= $maxScroll || !$ul.scrollTop()) && (n = !n,$button.val( n ? 'вниз':'вверх') ) ; } $button.click(function () { $('.filter_1').stop().animate({ scrollTop: n ? '+=100' : '-=100' }, 1000, fn); }); }); |
Теперь заработало как надо, спасибо большое, мой вариант... громоздкий, бредовый...
|
solunski.d,
так будет проще $(function(){ var $ul = $('.filter_1'), $button = $('.filter_other1'), n = true; $ul.scroll(function () { if (this.scrollHeight - this.scrollTop === this.clientHeight || !this.scrollTop) { n = !n;$button.val( n ? 'вниз':'вверх'); } }); $button.click(function () { $ul.stop().animate({ scrollTop: n ? '+=100' : '-=100' }, 1000); }); }); |
Часовой пояс GMT +3, время: 23:00. |