#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:
вы не закрыли функцию должным образом, вы пропустили фигурные скобки, парантез и точку с запятой в конце функции.