Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.10.2014, 15:19
Интересующийся
Отправить личное сообщение для EvilDoom Посмотреть профиль Найти все сообщения от EvilDoom
 
Регистрация: 07.09.2014
Сообщений: 15

Заменить class в div при скролле страницы
Всем привет
Нужен небольшой скрипт, при скроле страницы к примеру на 1800px вниз он меняет класс у блока, а при скролле ниже 3000px меняет класс обратно.

Есть вот такой скрипт:
<script type="text/javascript">
$(document).ready(function(){

        var $readmore_block = $("#readmore_block");

        $(window).scroll(function(){
            if ( $(this).scrollTop() > 1800 && $readmore_block.hasClass("stocke2") ){
                $readmore_block.fadeOut('fast',function(){
                    $(this).removeClass("stocke2")
                           .addClass("fixed_bottom")
                           .fadeIn('fast');
                });
            } else if($(this).scrollTop() <= 1800 && $readmore_block.hasClass("fixed_bottom")) {
                $readmore_block.fadeOut('fast',function(){
                    $(this).removeClass("fixed_bottom")
                           .addClass("stocke2")
                           .fadeIn('fast');
                });
            }
        });//scroll
    });//jQuery
</script>

После 1800px работает все как надо, но нужно что бы после 3000 он менял класс обратно, чего в нем не хватает?
Ответить с цитированием
  #2 (permalink)  
Старый 10.10.2014, 15:30
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

<html>
<body>
<div style="height: 5000px; width: 10px;"></div>
<div style="position: fixed; left: 50px; top: 50px; height: 50px; width: 50px; background-color: red;"></div>
</body>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script>
var div = $('div:last');
$(window).scroll(function(){
	var top = $(this).scrollTop();
	console.log(top);
	if (top > 1800 && top < 3000) {
		div.css('background-color', 'green');
	} else {
		div.css('background-color', 'red');
	}
});
</script>
</html>


можно так:

var div = $('div:last');
$(window).scroll(function(){
	var top = $(this).scrollTop();
	console.log(top);
	
	div.css('background-color', (top > 1800 && top < 3000) ? 'green': 'red');
})
Ответить с цитированием
  #3 (permalink)  
Старый 10.10.2014, 15:44
Интересующийся
Отправить личное сообщение для EvilDoom Посмотреть профиль Найти все сообщения от EvilDoom
 
Регистрация: 07.09.2014
Сообщений: 15

Сообщение от skrudjmakdak Посмотреть сообщение
<html>
<body>
<div style="height: 5000px; width: 10px;"></div>
<div style="position: fixed; left: 50px; top: 50px; height: 50px; width: 50px; background-color: red;"></div>
</body>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script>
var div = $('div:last');
$(window).scroll(function(){
	var top = $(this).scrollTop();
	console.log(top);
	if (top > 1800 && top < 3000) {
		div.css('background-color', 'green');
	} else {
		div.css('background-color', 'red');
	}
});
</script>
</html>


можно так:

var div = $('div:last');
$(window).scroll(function(){
	var top = $(this).scrollTop();
	console.log(top);
	
	div.css('background-color', (top > 1800 && top < 3000) ? 'green': 'red');
})
Ну это Вы цвет меняете, а как менять класс блока? Типа как в моем скрипте...
Ответить с цитированием
  #4 (permalink)  
Старый 10.10.2014, 15:56
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

вам сложно поменять мой код на свой?
var div = $('div:last');
$(window).scroll(function(){
	var top = $(this).scrollTop();
	console.log(top);
	
	if (top > 1800 && top < 3000) {
		div.fadeOut('fast',function(){
			$(this).removeClass("stocke2")
			   .addClass("fixed_bottom")
			   .fadeIn('fast');
		});

	} else {
		div.fadeOut('fast',function(){
			$(this).removeClass("fixed_bottom")
			   .addClass("stocke2")
			   .fadeIn('fast');
		});

	}
});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
Scroll menu, подсветка активных пунктов меню при скролле makissm21 AJAX и COMET 13 29.04.2017 19:28
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Выезжающие\уезжающие div при загрузке страницы goodkot Элементы интерфейса 1 28.09.2012 08:58
При нажатии на ссылку раскрываются все div anonimous jQuery 1 09.08.2012 14:49