knitevision1
@knitevision1
Ванька Скайуокер

Прерывание выполнения в else?

Здравствуйте.

var b = $( ' .button' );
			if (!b.hasClass( 'activated' )) {
				apbb.click(function() {
					$('html, body').animate({
				        scrollTop: $( '#some-target' ).offset().top
				    }, 400);
				});
			}

			else {
				b.click(function() {
					doSomethingElse
				});
			}


Собственно, надо, чтобы, если у .button нет класса .activated, то он не будет скроллить куда-то, а будет скроллить только, если класс есть. В данной интерпретации не работает. Всё равно скроллит. Почему? Как заставить scrollTop прерваться, если у кнопки есть класс?

Решение:

b.click(function(e){
			    if(!$(this).hasClass('activated')) {
				    $('html, body').animate({
				        scrollTop: $( '#some-target' ).offset().top -63
				    }, 400);
			    }

			    else {
			    	$(this).css('background', 'black')
			    }
			});
  • Вопрос задан
  • 2191 просмотр
Решения вопроса 1
Serhioromano
@Serhioromano
Web Developer
Там у вас пробелы есть в коде не знаю это тут так вставилось или реально.

$('.button' ).click(function(e){
    if(!$(this).hasClass('activated')) {
        e.preventDefault();
        return false;
    }
    $('html, body').animate({
        scrollTop: $( '#some-target' ).offset().top
    }, 400);
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы