首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自动幻灯片显示的Javascript代码在单独的.js文件中不起作用,但它在html中起作用。

当你在HTML文件中的<script>标签内编写JavaScript代码时,代码可以直接与HTML元素交互,因此可以正常工作。但是,当你将JavaScript代码移到外部.js文件中时,可能会遇到一些问题导致代码无法正常工作。以下是一些可能的原因和解决方法:

可能的原因

  1. 文件路径问题
    • 外部.js文件的路径可能不正确,导致浏览器无法找到并加载该文件。
  • 加载顺序问题
    • 如果.js文件在HTML文件中的<script>标签之后加载,而该文件依赖于HTML中的某些元素,可能会导致问题。
  • 作用域问题
    • 在外部.js文件中,全局作用域可能与HTML文件中的不同,导致某些变量或函数无法访问。
  • 事件绑定问题
    • 如果在HTML文件中直接绑定事件,而在.js文件中重新绑定,可能会导致事件冲突或重复绑定。

解决方法

  1. 确保文件路径正确
    • 确保外部.js文件的路径是正确的。例如,如果.js文件与HTML文件在同一目录下,路径应为./script.js
    • 确保外部.js文件的路径是正确的。例如,如果.js文件与HTML文件在同一目录下,路径应为./script.js
  • 调整加载顺序
    • 确保外部.js文件在HTML文件中的<script>标签之前加载。
    • 确保外部.js文件在HTML文件中的<script>标签之前加载。
  • 检查全局作用域
    • 确保在.js文件中定义的变量和函数在全局作用域中是可访问的。
    • 确保在.js文件中定义的变量和函数在全局作用域中是可访问的。
  • 事件绑定
    • 确保事件绑定在正确的元素上,并且没有重复绑定。
    • 确保事件绑定在正确的元素上,并且没有重复绑定。

示例代码

假设你有一个简单的自动幻灯片显示功能,HTML文件如下:

代码语言:txt
复制
<!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如下:

代码语言:txt
复制
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代码不起作用的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PageGuard.js 防止网站内容复制和检测开发者工具代码

/example.html PageGuard.js 没有复制,打印以及开放开发人员工具。...它可以阻止用户: 选择 打印 右键点击 Crtl / Shift / Alt / F12 开放开发者工具(包括单独窗口中打开) 如果你不运行Javascript,你可以使用CSS。...为了安全起见,您应该使用此JavaScript,并且只Javscript打开时才显示页面。...(anticopy_id); 检测开发人员工具 支持: Chrome(最新版本:66) Opera(最新版本:52) Firefox(最新版本:59)(如果它在一个单独窗口中打开,它将仅在用户打开控制台时起作用...) IE 11(未在eralier测试) 边缘(如果它在单独窗口中打开,则不起作用) 其他(未测试) 它只能同时运行一个。

4.5K210
  • 网页中代码顺序是不可忽略细节

    仿佛奇怪问题总是喜欢找上那些初学者。当我在学习制作网页时候,经常遇到一些很特别的问题。例如:刚刚添加样式不起作用、jQuery 代码老是不起作用等等,这些问题往往是不关注细节导致。...而今天我要谈这个细节,就是关于网页中代码顺序。没错,代码也是有顺序,顺序不对有可能会出现一些意外情况。 HTML 相关代码顺序 下面先来介绍 HTML 代码顺序。...重要内容要优先加载,所以就产生了 HTML 代码排序问题。 head 里面的元素排序 HTML head 元素里面,通常放置着文档描述信息。...JavaScript 代码顺序 JavaScript 文件加载顺序 jQuery 是一个比较常用 JavaScript 库,通常我们还要配合它强大插件使用。...对于新手来说,经常会遇到没有产生相应效果问题。就是说,代码没有检查出问题,就是没有执行显示应有的效果。原因就出在加载顺序上面。

    1.1K30

    WordPress缓存插件WP Fastest Cache插件使用教程

    启用“缓存系统”后,页面被保存为静态html文件,因此PHP和MySQL对已缓存页面不起作用。MySQL 和 PHP 用于生成尚未缓存其他页面的 html。...压缩HTML : 压缩 HTML 代码,包括其中包含任何内联 JavaScript 和 CSS,可以节省大量数据字节并加快下载、解析和执行时间。...Minify CSS : enable – 从 CSS 代码删除不必要字符以减小文件大小(Lighthouse 和 GTmetrix 高优先级项目)。同时 CDN 禁用。...Minify JS :高级功能– 从 JS 代码删除不必要字符以减小文件大小(Lighthouse 和 GTmetrix 高优先级项目)。 CDN 禁用。...5、排除   如果任何缩小设置破坏了您网站,请查看您代码,找到有问题 CSS 或 JavaScript 文件,并通过添加新 CSS 和 JS 规则将它们从缩小中排除。

    6.8K30

    WordPressjQuery库不起作用相关问题

    如果仅仅加载WordPress 自带jQuery 库,使用一些jQuery 插件时候明明是代码没有错误,就是不起作用,该有的效果不能实现;加载了原版jQuery 库却又可以了,这样一来却同时加载了两个...后来才了解到:为了防止与其他 JS 库(如 YUI)冲突,WordPress 内置 jQuery 库末尾都在原版基础上加入了 jQuery.noConflict()这个东东,以至于jQuery 代码中用...$ 代替jQuery 写法不能识别,一些功能不起作用原因正是由此而来。...如何解决这个问题,网络上有以下解决方案: 方案一:将相关js代码$ 手动改为 jQuery。...如果你想取消,就需要在主题文件中找到如下关键代码,删除或注销之: wp_enqueue_script('jquery'); 当然,既然主题自动加载了,那肯定是有它用处,如果删除了,一些主题功能可能会失效

    4K60

    Angular JS + Express JS入门搭建网站

    当然我觉得真实开发,控制器代码肯定会很多,建议每一个像indexContrl控制器单独放在一个JS文件,这样规范,好维护。   ...,一定要在myAppmoudle引用ng-route,同时要在文件引用angular-route.js文件,否则不起作用。   ...Factory服务   也是让我们定义一些通用方法,作为服务。所有的服务都是延迟实例化,只要用到时或被依赖时才会实例化,都是单例。   建议开发时放在单独Factory.js文件。 二....Express JS   示例前端,我们使用Angular JS框架开发了Html页面以及对应JS文件网站后台就要用其他技术了。...建立一个server,注意第8行代码作用是指定页面的文件夹,第10句作用是关于路径/路由信息routes文件夹里index文件定义,这两句顺序不能错。

    4.4K60

    【Java 进阶篇】深入浅出:Bootstrap 轮播图

    要实现一个轮播图,您通常需要一些复杂HTML、CSS和JavaScript代码,这对于初学者来说可能会感到困难。..."> 上述代码将从CDN引入BootstrapCSS和JavaScript文件,使您可以项目中使用Bootstrap功能。...这个容器将包含轮播图所有内容。HTML,这通常是一个元素。给它一个唯一ID,以便后续引用。...您可以浏览器打开HTML文档,查看轮播图效果。轮播图会自动播放幻灯片,并允许用户手动切换幻灯片。...我们还使用JavaScript代码来启用和禁用轮播自动播放。 结语 本博客,我们深入研究了如何使用Bootstrap创建漂亮轮播图。我们从什么是轮播图开始,然后逐步介绍了如何创建和自定义它们。

    53430

    React学习(四)-理清React工作方式

    ,可能觉得用原生JS,JQ实现起来很简单呀,React写起来代码,什么玩意,那么一大堆,JS里面还写HTML代码,简直恶心到不行,并未达到,内容结构,层叠样式,逻辑分离,如果对于这部分内容有疑惑...对于简单业务实现,是没有什么问题,但是当DOM结构层级比较深,要进行一些复杂逻辑操作时,此时,不断操作DOM就变得非常恶心了 这里并不是忽视原生JS,即使有了一些上层框架简化了操作,核心逻辑代码编写仍然是要写...,只是关注点不一样了 而在React,我们可以发现,并没有操作DOM过程,一切以数据为中心,数据是什么,页面就显示什么 并没有像JS,JQ一样获取元素,添加事件然后执行一些操作动作....也就是说, 这样写法是不起作用 如果想要在组件标签上监听事件起作用,也可以做到,就是结合第三方模块styled-components样式组件进行使用,是可以做到...元素上,若放在自定义组件上时,是不起作用,具体解决办法,可以引入第三方styled-components模块,后续单独拿一篇幅来说也不为过,涉及到知识还是挺多 作者:川川,一个靠前排90

    1.8K30

    React基础(4)-理清React工作方式

    ,可能觉得用原生JS,JQ实现起来很简单呀,React写起来代码,什么玩意,那么一大堆,JS里面还写HTML代码,简直恶心到不行,并未达到,内容结构,层叠样式,逻辑分离,如果对于这部分内容有疑惑...对于简单业务实现,是没有什么问题,但是当DOM结构层级比较深,要进行一些复杂逻辑操作时,此时,不断操作DOM就变得非常恶心了,这里并不是忽视原生JS,即使有了一些上层框架简化了操作,核心逻辑代码编写仍然是要写...也就是说, 这样写法是不起作用 如果想要做到这一点,组件标签上监听事件起作用,也可以做到,就是结合第三方模块styled-components样式组件进行使用...React数字框组件应用开始,分别用原生JS,JQ,React进行了实现,ReactUI视图取决于render函数返回内容,数据是什么,就让页面显示什么,无需关注DOM操作,并且React引入了虚拟...on*EnentType方式 并且这种事件监听,它只作用于原生HTML元素上,若放在自定义组件上时,是不起作用,具体解决办法,可以引入第三方styled-components模块,后续单独拿一篇幅来说也不为过

    2.1K20

    【Wordpress】Crayon Syntax Highlighter 与主题不兼容

    推荐理由: 集成主题编辑器 切换行号 复制 / 粘贴代码 新窗口中打开代码 自动获取博客文章 / 评论… 进行高亮 远程请求缓存 可以一个代码框内混合语言高亮显示 可以在行内调用代码高亮...安装完成并启用,然后点击后台菜单栏设置,找到 Crayon 进行自定义编辑。 遇到问题: 问题1、显示出来代码块无法点击,右上角复制/粘贴、展开等功能button点击不起作用: ?...这个说明某些主题代码中有可能就做了上面的这种不自动加载 jQuery 改动。 这样就导致了某些依赖js文件插件不起作用。看到这里,我们就不防去验证一下。...打开我们一篇有代码博客,右键检查元素, element 搜索 crayon.min ,果不其然网页元素只加载了css文件 crayon.min.css : ?...问题2、HTML实体字符转义问题: Wordpress中使用 Crayon Syntax Highlighter 时,代码段内HTML实体不会被解释,导致'’显示为’>

    6.1K10

    天了噜,为什么外链css要放在头部,js要放在尾部?

    我们最开始学前端时候都会看到教程处理外部css,js时候会将css放在headerjs放在body最后。为什么要这样子处理,今天参考一些资料好好分析下。...如果将css放在尾部,html内容可以第一时间显示出来,但是会阻塞html行内css渲染。...script 这两个属性主要用于其js文件没有操作DOM情况,这时候就可以将该js脚本设置为异步加载,通过async或defer来标记代码。...async和defer区别: 0、async和defer都仅对外部脚本有效,对于内置而不是连接外部脚本script标签,以及动态生成script标签不起作用。...如果同时使用async和defer属性,后者不起作用,浏览器行为由async属性决定。

    2.6K20

    CSS遮罩过渡效果有趣幻灯片

    为了使遮罩过渡效果起作用,我们需要一个图像来隐藏/显示底层图像某些部分。该蒙版图像将是一个带有透明部分PNG。...PNG本身将是一个精灵图像,它看起来如下: 虽然黑色部分将显示当前图像,白色部分(实际上是透明)将成为我们图像蒙版部分,将显示第二个图像。 为了创建精灵图片,我们将使用这个视频。...我们将创建另一个“反转”精灵来达到相反效果。您将在演示文件img文件夹中找到所有不同精灵。 现在,我们已经创建了蒙版图像,让我们深入到我们简单幻灯片示例HTML结构。...标记 对于我们演示,我们将创建一个简单幻灯片显示蒙版效果。我们幻灯片会填满整个屏幕,我们会添加一些箭头来触发幻灯片切换。这个想法是叠加幻灯片,然后动画结束时更改传入幻灯片z-index。...JavaScript 我们将使用zepto.js来演示这个与jQuery类似的轻量级JavaScript框架。 我们首先声明所有的变量,设置持续时间和元素。

    3.3K90

    前端对决:ReactJSX与Vuetemplates

    使用Vue模板就像是用JSX就是他们都是创建使用JavaScript。主要区别是,JSX函数实际HTML文件从来不被使用,而Vue模板不是这样。...文件,您将创建一个带有根ID空div。记住,根只是个人偏好。你可以调用你ID无论什么情况下。您只需确保稍后将HTMLJavaScript代码同步时匹配起来即可。...这个div会像它在React那样起作用。它会告诉JavaScript库,在这个示例,开始改变时候在哪里观察DOM。 一旦这样做了,你将创建一个JavaScript文件,将存放Vue代码。...这意味着你HTML文件不仅会有一个空div,比如在React。实际上,您将在HTML文件编写一部分代码。 为了给你一个更好提醒,回想一下使用普通HTML创建名称列表需要什么。...当前,它将为列表显示每个名称,实际上并没有告诉它将把实际名称显示浏览器上。为了解决这个问题,你将在你插入一些类似mustache语法。

    2.4K20

    前端移动web-day05学习笔记

    下载别人写好代码,然后我们自己文件导入 b.查文档(三大核心技术): bootstrap全局css样式:https://v3.bootcss.com/css/ bootstrap组件:https:...这个框架就是别人已经写好css和JavaScript,我们要使用它,首先需要把这些样式和javascript相关文件下载下来,然后我们页面引用这些文件就可以使用这个框架了,直接在这个网站下载,下载地址为...下载之后,会得到一个安装包,我们只需要将安装包css font js 这三个文件夹放到项目目录即可 下载jquery:由于bootstrap这个框架里面的js代码使用是一个js框架叫做jquery...-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器)访问页面时 Respond.js 不起作用 --> <!...x代表1~12数字,它表示栅格偏移宽度份数,屏幕宽度大于等于1200起作用 2、.col-md-offset-x 屏幕宽度大于等于992起作用 3、.col-sm-offset-x 屏幕宽度大于等于

    2.9K20

    12 道腾讯前端面试真题及答案整理

    a标签默认启动HTTPS不起作用。 这时要使用 meta里面http-equiv来强制启动功能。...firefox包括高版本IE,但是HTTPS下面不起作用,需要meta来强制开启功能 这是DNS提前解析,并不是css,js之类文件缓存,大家不要混淆了两个不同概念。...如果直接做了js重定向,或者服务端做了重定向,没有link里面手动设置,是不起作用。...W3C 规范:语义化代码让搜索引擎容易理解网页 重要内容 HTML 代码放在最前:搜索引擎抓取 HTML 顺序是从上到下,有的搜索引擎对抓取长度有限制,保证重要内容一定会被抓取 重要内容不要用 js...,调用某个组件时再加载对应js文件; root插入loading 或者 骨架屏 prerender-spa-plugin,提升用户体验; 如果在webview页面,可以进行页面预加载 独立打包异步组件公共

    1.6K20

    webpack 代码分离快速指北

    ⭐️ 更多前端技术和知识点,搜索订阅号 JS 菌 订阅 分离代码文件 在此之前,首先要知道经常配置 output 中有关 filename 和 chunkFilename 区别;简单来说 entry...lodash.chunk.js 文件 基本概念了解了,接下来开始对 js 和 css 文件进行分离操作: js 代码分离 js 代码分离操作,首先要考虑就是对异步代码分离。...'jquery',其他文件中就可直接使用 $ 变量,webpack 会自动在打包过程 import 这个模块 css 代码分离 css 部分分离代码文件 直接使用 extract-text-webpack-plugin...即可 一个 JS 文件,加载页面时虽然只需要加载一个 JS 文件代码一旦改变,用户访问新页面时就需要重新加载一个新 JS 文件。...有些情况下,我们只是单独修改了样式,这样也要重新加载整个应用 JS 文件,相当不划算。

    1.3K10

    分享 16 个顶尖 Vue 开源项目,助你提升技术能力

    VuePress 你用Markdown 写内容,然后转换成预渲染静态HTML文件。 该项目有一个组织良好捐款指南,工作流程透明。它还有很好问题管理功能。...10 Eagle.js Eagle. js 是使用Vue构建强大、灵活、独特幻灯片显示系统。它允许你在演示文稿创建易于重用组件、幻灯片和样式。...它还支持动画,主题,和互动小部件,这是伟大网页演示。 使用这个库可以做最重要事情之一是将幻灯片放在单独文件,然后在其他幻灯片显示重用它。你还可以将特定幻灯片显示幻灯片导入另一个幻灯片。...Quasar默认情况下集成了最佳实践(HTML/ CSS / JS 缩小、缓存破坏、树摇动、源映射、延迟加载代码拆分、ES6 传输、代码链接、可访问性),因此你可以主要关注应用功能。...它简单地用Vue代码替换常规引导组件JavaScript

    4.6K10
    领券