javascript - Javascript:无法访问属性“scrollLeft”
问题描述
我有简单的代码,它会自动从头到尾水平滚动滑块,然后反向滚动。
当我将代码输入到加载的站点以进行控制台时,代码工作正常,但是当我将它添加到我的 Javascript 时,此滑块的 HTML 动态插入到主页。
我认为这个脚本中可能存在一些问题,但我真的不知道在哪里。
感谢所有帮助
错误信息: 这里
脚本:
var logosIndustry = document.querySelector(".logos");
function move() {
logosIndustry.scrollLeft += 1;
if(logosIndustry.scrollLeft >= (2600 - logosIndustry.offsetWidth)){
clearInterval(interval);
interval = setInterval(moveReverse,5);
}
}
function moveReverse() {
logosIndustry.scrollLeft -= 1;
if(logosIndustry.scrollLeft <= 0){
clearInterval(interval);
}
}
interval = setInterval(move, 5)
解决方案
您的脚本在.logos
元素位于 DOM 之前运行。
在 DOM 准备好后尝试运行它。
var logosIndustry;
var interval;
function move() {
logosIndustry.scrollLeft += 1;
if (logosIndustry.scrollLeft >= (2600 - logosIndustry.offsetWidth)) {
clearInterval(interval);
interval = setInterval(moveReverse, 5);
}
}
function moveReverse() {
logosIndustry.scrollLeft -= 1;
if (logosIndustry.scrollLeft <= 0) {
clearInterval(interval);
}
}
window.addEventListener('DOMContentLoaded', () => {
logosIndustry = document.querySelector(".logos");
interval = setInterval(move, 5);
});
推荐阅读
- python - Flask - 如何在路由匹配之前从 URL 中删除格式扩展,如 .json
- nginx - AWS 日志 Insigts 解析 NGINX 日志
- xml - 从不同的 xsd 导入相同的命名空间
- go - Prometheus go 客户端错误上下文截止日期已超出
- javascript - 只有在浏览器中刷新页面时,apollo客户端的usequery中数据才会变为未定义
- sql - 更新触发器后不更新 SQL 表中的特定数据行
- java - 对二维数组进行排序不会以正确的顺序排序
- python - 复制带有校验和的文件
- javascript - 如何将 addFilter() 与 react-slick 一起使用?
- ios - SwiftUI - 彩色列表项之间的空间