Неожиданный конец ошибки ввода в javascript

#javascript #jquery #html #css

#javascript #jquery #HTML #css

Вопрос:

Я действительно в тупике из-за ошибки завершения ввода, которую я получаю. Я выделил ее в следующем коде. Когда я удаляю код, ошибка исчезает.

Кто-нибудь видит, в чем может быть ошибка? Консоль не указывает ни на что конкретное, кроме выделения тега закрывающего скрипта.

 <script>
$(document).ready(function() {

    //Arrow Down
    $('#arrowDownWrap').click(function() {
        $('html, body').animate({
            scrollTop: $('#home-section2').offset().top -140}, 1000);
    });

    //Phone Img slide
    let last_known_scroll_position = 0;
    let ticking = false;

    function doSomething(scroll_pos) {
        // Do something with the scroll position
        document.querySelector('#homeBoxGridRight img').style.transform = 'translateX(-'   (scroll_pos * 0.1)   '%)';
        document.querySelector('#homeBoxGridRight img').style.transform  = 'translateY(-50%)';
    }

    window.addEventListener('scroll', function(e) {
        last_known_scroll_position = window.scrollY;

        if (!ticking) {
            window.requestAnimationFrame(function() {
                doSomething(last_known_scroll_position);
                ticking = false;
            });

            ticking = true;
        }
    });
});
</script>
  

Комментарии:

1. можете ли вы включить какой-либо другой свой код?

2. попробуйте использовать Mozilla developer edition. У него довольно хорошая консоль отладки для такого рода проблем. Поскольку на вашем веб-сайте проблема, из-за которой это происходит, написана в одной строке, трудно понять, где это произошло. Проверьте это самостоятельно на своем тестовом сервере

Ответ №1:

В этом коде ошибка:

 $('#arrowDownWrap').click(function() {
    $('html, body').animate({
        scrollTop: $('#home-section2').offset().top -140}, 1000);
});
  

И это решение:

 $('#arrowDownWrap').click(function() {
    $('html, body').animate({
        scrollTop: $('#home-section2').offset().top -140}, 1000);
    }); // <-- this line is missing
});
  

Комментарии:

1. Спасибо, но закрывающие скобки были в коде. Здесь заключительные скобки -140}, 1000) .

Ответ №2:

У вас есть две закрывающие функции в конце тега script. Удалите один и добавьте его после функции arrowDownWrap,

Ваш код будет выглядеть следующим образом:

 <script>
$(document).ready(function() {
//Arrow Down
  $('#arrowDownWrap').click(function() {
      $('html, body').animate({
         scrollTop: $('#home-section2').offset().top -140}, 1000);
      });
   });

//Phone Img slide
let last_known_scroll_position = 0;
let ticking = false;

function doSomething(scroll_pos) {
    // Do something with the scroll position
     document.querySelector('#homeBoxGridRight img').style.transform =   'translateX(-'   (scroll_pos * 0.1)   '%)';
    document.querySelector('#homeBoxGridRight img').style.transform  = 'translateY(-50%)';
}

window.addEventListener('scroll', function(e) {
    last_known_scroll_position = window.scrollY;

    if (!ticking) {
        window.requestAnimationFrame(function() {
            doSomething(last_known_scroll_position);
            ticking = false;
        });

        ticking = true;
      }
  });

</script>
  

Ответ №3:

Привет, у вас отсутствуют закрывающие теги после $ arrowDownWrap , вместо этого вы дважды используете его чуть выше тега script.Это может произойти, не ухудшайтесь из-за этого. Удачи, исправление приведено ниже.

            window.addEventListener('scroll', function(e) {
    last_known_scroll_position = window.scrollY;

    if (!ticking) {
        window.requestAnimationFrame(function() {
            doSomething(last_known_scroll_position);
            ticking = false;
        });

        ticking = true;
    }
});
});//first remove this part here . It is repeated above which is giving you the error. IDE finds two endtags at the same point .
  

Во-вторых, добавьте сюда удаленные закрывающие теги и закройте функцию, которую вы пропустили. Вуаля. Удачи

          $('#arrowDownWrap').click(function() {
$('html, body').animate({
    scrollTop: $('#home-section2').offset().top -140}, 1000);
}); // <-- this  is where you missed it
});
  

Ответ №4:

вы не закрыли функцию должным образом, вы пропустили фигурные скобки, парантез и точку с запятой в конце функции.