dzheka3d
@dzheka3d

Как получить положение скролла?

Всем привет! Стоит у меня вот такой код, для появления кнопочки "вверх":
$(window).scroll(function(){
	($(window).scrollTop() > 300 ) ? $('.go-top').fadeIn(300) : $('.go-top').fadeOut(300);
});

В хроме, мозиле работает нормально, но в старой версии Opera 12, вот эта часть $(window).scrollTop() срабатывает как команда подняться вверх. есть ли другой способ получить значение положения скрола?
  • Вопрос задан
  • 1881 просмотр
Решения вопроса 1
@Eugeny1987
Работаю с HostCMS
Вот мой рабочий код
(function($) {
	
	$.fn.totop = function(options) {
	
		options = $.extend(
			{
				height	: 300, // позиция появления
				speed	: 1000 // скорость прокрутки наверх
			}, options);
		
		return this.each(function() {
			button = $(this);
			$(window).scroll( function() {
				if ( $(window).scrollTop() > options.height ) {
					if (!button.attr('data-x')) {
						button.fadeIn();
					}
				}  else {
					if (!button.attr('data-x')) {
						button.fadeOut();
					}
				}
			});
			button.click(function(e) {
				if ($(this).attr('data-x')) {
					var top = parseInt($(this).attr('data-x'));
					e.preventDefault();
					$('html, body').stop().animate({scrollTop: top}, options.speed, function(){
						button.removeAttr('data-x');
					});
					button.html('<i class="icon-arrow-up"></i>');
					return false;
				}
				var top = $(window).scrollTop();
				button.attr('data-x',top);
				button.html('<i class="icon-arrow-down"></i>');
				e.preventDefault();
				$('html, body').stop().animate({scrollTop: "0px"}, options.speed );
				return false;
			});
			$(window).scroll();
		})
	}
	
})(jQuery);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы