当你在HTML文件中的<script>
标签内编写JavaScript代码时,代码可以直接与HTML元素交互,因此可以正常工作。但是,当你将JavaScript代码移到外部.js文件中时,可能会遇到一些问题导致代码无法正常工作。以下是一些可能的原因和解决方法:
<script>
标签之后加载,而该文件依赖于HTML中的某些元素,可能会导致问题。./script.js
。./script.js
。<script>
标签之前加载。<script>
标签之前加载。假设你有一个简单的自动幻灯片显示功能,HTML文件如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./script.js"></script>
</head>
<body>
<div class="slide">Slide 1</div>
<div class="slide">Slide 2</div>
<div class="slide">Slide 3</div>
</body>
</html>
JavaScript文件script.js
如下:
document.addEventListener('DOMContentLoaded', function() {
var slides = document.querySelectorAll('.slide');
var currentSlide = 0;
function showSlide(index) {
slides.forEach(function(slide, i) {
slide.style.display = i === index ? 'block' : 'none';
});
}
function nextSlide() {
currentSlide = (currentSlide + 1) % slides.length;
showSlide(currentSlide);
}
setInterval(nextSlide, 2000);
showSlide(currentSlide);
});
通过以上方法,你应该能够解决外部.js文件中的JavaScript代码不起作用的问题。
领取专属 10元无门槛券
手把手带您无忧上云