Добрый день, подскажите пожалуйста, почему не срабатывает яваскрипт как нужно?
Нужно, чтобы если чекбокс не нажат, тогда якорная ссылка срабатывала, а если нажат - то нет. А сейчас якорная ссылка срабатывает всегда. Вот пример: JSFIDDLE
В вашем случае условие в if всегда возвращает true (поместите $('.backtotop:not(:checked)') в console.log take.ms/5SjVU)
Предлагаю сделать иначе: https://jsfiddle.net/serjazz/93ov6th7/ в этом случае все отрабатывает верно.
$('.backtotop:not(:checked)') выбирает инпут, у которого нет атрибута checked и не зависит от его дальнейшего состояния.
А инпут, у которого есть такой антрибут, наоборот никогда не выбирается <input type="checkbox" checked>
Поэтому лучше использовать вешеприведённый пример от Sergey Sidorov
Логика очень странная у Вас. Как самой задачи так и решения.
1) Зачем там чекбокс лично мне совсем не понятно. Это явно должна быть кнопка, или скорее даже просто блочный элемент.
2)$('.backtotop:not(:checked)')
Данный селектор повесит событие на не выбранный чекбокс с классом .backtotop, но дело в том что после изменения его состояния, обработчик события уже висит на нем, и точно так же срабатывает, независимо от состояния чекбокса.
Решение готовое вам не дам. Используйте div в качестве кнопки и внутри обработчика события нужно поставить условие которое не даст сработать клику после одного нажатия. Для этого нужно использовать временную переменную.