Вычислить высоту у элемента ul
Здравствуйте, пытаюсь определить высоту элемента ul и если элемент прокручен до конца выполнить действие.
Реализовал, только вот есть нюанс, причем непонятный, не поддается логики. Вот ссылочка на код http://codepen.io/anon/pen/rVENXz или Вот код HTML <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <p>прокрутил до конца</p> <div class="scroll"> <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> </div> Код CSS
.scroll {
height:500px;
width:400px;
overflow:scroll;
}
ul {
height: 100px;
list-style: none;
overflow-y: auto;
margin: 0;
padding: 0;
width: 80%;
}
и вот код JS
var div = $('ul'),
div_sh = $(div)[0].scrollHeight,
div_h = div.height();
$(div).scroll(function(){
if ($(this).scrollTop() >= div_sh - div_h) {
$('p').html('прокрутил до конца')
}
else {
$('p').html('не прокрутил до конца')
}
});
А проблема в том что если в CSS у элемента ul поставить высоту больше чем 100px то он не может определить промотан ли список до конца. Что это за бред :blink: , если 100px и меньше норм, как только больше так не робит. Помогите пожалуйста :help: |
Нашел более универсальный код
$('ul').scroll(function () {
if (this.scrollHeight - this.scrollTop === this.clientHeight) {
alert('End');
}
});
Но почему первый вариант не работает??? |
solunski.d,
ой
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.scroll {
height:500px;
width:400px;
overflow:scroll;
}
ul {
height: 321px;
list-style: none;
overflow-y: auto;
margin: 0;
padding: 0;
width: 80%;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(function(){
var div = $('ul'),
div_sh = $(div)[0].scrollHeight,
div_h = div.height();
$(div).scroll(function(){
if ($(this).scrollTop() >= div_sh - div_h) {
$('p').html('прокрутил до конца')
}
else {
$('p').html('не прокрутил до конца')
}
});
});
</script>
</head>
<body>
<p>прокрутил до конца</p>
<div class="scroll">
<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>
</div>
</body>
</html>
|
Ну я так понял что первый метод имеет проблемы связанные с высотой.
Еще один вопрос, есть у меня кнопка "Другие" с классом .filter_other1, под списком, как только элемент промотан до конца, меняется класс у элемента span. Помимо этого я хотел бы реализовать поднятие вверх. То есть пролистать список до конца и кликаю по этой кнопкой еще пролистать вверх. Как проделать такое условие?
$('ul').scroll(function () {
if (this.scrollHeight - this.scrollTop === this.clientHeight) {
$('.filter_other1 span').removeClass('glyphicon-triangle-bottom');
$('.filter_other1 span').addClass('glyphicon-triangle-top');
} else {
$('.filter_other1 span').removeClass('glyphicon-triangle-top');
$('.filter_other1 span').addClass('glyphicon-triangle-bottom');
}
});
Для промотки списка в низ использовал такой код
$('.filter_other1').click(function () {
$('ul').animate({
scrollTop: '+=53'
}, 1000);
});
|
Цитата:
Цитата:
|
Дело в том я не еще не бум бум в JS
Вот пытался сделать поднятие вверх, но не работает...
$('.filter_1').scroll(function () {
if (this.scrollHeight - this.scrollTop === this.clientHeight) {
$('.filter_other1 span').removeClass('glyphicon-triangle-bottom');
$('.filter_other1 span').addClass('glyphicon-triangle-top');
$('.filter_other1').removeClass('bottom');
$('.filter_other1').addClass('up');
} else {
$('.filter_other1 span').removeClass('glyphicon-triangle-top');
$('.filter_other1 span').addClass('glyphicon-triangle-bottom');
$('.filter_other1').removeClass('up');
$('.filter_other1').addClass('bottom');
}
});
if ( $(".filter_other1").hasClass("bottom") ) {
$('.filter_other1').click(function () {
$('.filter_1').animate({
scrollTop: '+=53'
}, 1000);
});
} else if ( $(".filter_other1").hasClass("up") ) {
$('.filter_other1').click(function () {
$('.filter_1').animate({
scrollTop: '-53'
}, 1000);
});
}
|
solunski.d,
может над логикой подумать и другой алгоритм изобрести? или как-то иначе обьяснить, непонятно же чего творите? |
Вот картинка
![]() Как вы заметили есть список, причем целых 4. Под каждым списком есть кнопка "Другие" и значок. Я пытаюсь реализовать прокрутку в списке, при щелчке на кнопку "Другие". Если довести список до конца, меняется значок и кнопка теперь прокручивает вверх. |
Цитата:
|
Цитата:
Я видел реализацию прокрутки, но они прокручивали не по чуть чуть, а сразу вверх или в низ. В JS я еще не силен, а работодатель хочет посмотреть на что я способен |
Цитата:
|
Я не знаю как это реализовать
|
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);
});
});
|
Спасибо, рядом с кнопкой можно поставить span(значок треугольника)
Этот код будет нормальный, для смены значка???
$('.filter_1').scroll(function () {
if (this.scrollHeight - this.scrollTop === this.clientHeight) {
$('span').removeClass('glyphicon-triangle-bottom');
$('span').addClass('glyphicon-triangle-top');
} else {
$('span').removeClass('glyphicon-triangle-top');
$('span').addClass('glyphicon-triangle-bottom');
}
});
|
solunski.d,
достаточно ставить и убирать 1 класс $('span').toggleClass('стелка вниз', n); |
solunski.d,
.filter_other1{
background-color: #0000FF;
}
.test.filter_other1{
background-color: #228B22;
}
$(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.toggleClass('test', !n);
}
});
$button.click(function () {
$ul.stop().animate({
scrollTop: n ? '+=100' : '-=100'
}, 1000);
});
});
|
Все спасибо огромное, теперь дошло!
Смог сделать смену значка туда и обратно. |
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;
cursor: pointer;
}
.filter_other1:after{
content: '\23EC';
color: red;
font-size: 23px;
margin-left: 4px;
}
.test.filter_other1:after{
content: '\23EB';
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(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.text( n ? 'вниз':'вверх');
$button.toggleClass('test', !n);
}
});
$button.click(function () {
$ul.stop().animate({
scrollTop: n ? '+=100' : '-=100'
}, 1000);
});
});
</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>
<span class="filter_other1">вниз</span>
</body>
</html>
|
Спасибо огромное, вот я подправил под свою разметку так, посмотри, хм.. твой вариант по сути тоже хорош, а что лучше?
$(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.html( n ? 'вниз <span class="glyphicon glyphicon-triangle-bottom h-filer_other-icon" aria-hidden="true"></span>':'вверх <span class="glyphicon glyphicon-triangle-top h-filer_other-icon" aria-hidden="true"></span>');
}
});
$button.click(function () {
$ul.stop().animate({
scrollTop: n ? '+=100' : '-=100'
}, 1000);
});
});
|
solunski.d,
чем меньше изменений в html тем быстрее |
Теперь ясна суть
|
| Часовой пояс GMT +3, время: 21:22. |