JS改变元素的颜色Onclick未定义的颜色

2024-01-22

我想制作一个颜色更改器按钮,但最后一次单击后,颜色将设置为未定义。知道如何删除它吗?

var color = ["Orange", "Red", "Green", "Blue"];
            var i = 0;
            document.querySelector(".changeColorBtn").addEventListener("click", 
                function() {
                i = i < color.length ? ++i : 0;
                $('*[id="changeColor"]').css('color', color[i]);
                $('*[id="changeColorBack"]').css('background', color[i]);
                document.querySelector('.changeColr').innerHTML = color[i];
            })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1 class="changeColr" id="changeColor">COLOR</h1>

<button class="changeColorBtn">Change</button>

索引从0开始计数,而.length从1开始计数。

所以,这一行:

i = i < color.length ? ++i : 0;

需要是:

i = i < color.length-1 ? ++i : 0;

因为不减 1.length您尝试访问比现有索引大 1 的数组索引。

var color = ["Orange", "Red", "Green", "Blue"];
            var i = 0;
            document.querySelector(".changeColorBtn").addEventListener("click", 
                function() {
                i = i < color.length-1 ? ++i : 0;
                $('*[id="changeColor"]').css('color', color[i]);
                $('*[id="changeColorBack"]').css('background', color[i]);
                document.querySelector('.changeColr').innerHTML = color[i];
            })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1 class="changeColr" id="changeColor">COLOR</h1>

<button class="changeColorBtn">Change</button>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS改变元素的颜色Onclick未定义的颜色 的相关文章

  • jQuery AJAX 请求在 IE8 中失败,并显示消息“错误:调用 open 方法之前无法调用此方法。”

    我正在使用 jQuery 1 4 2 并尝试执行一个简单的 AJAX 请求 目标 URL 返回一个 JSON 字符串 我使用 jslint 对其进行了验证 该请求在 Firefox 和 Chrome 中有效 但不想在 IE8 中工作 我无法
  • 如何纠正流警告:解构(缺少注释)

    我正在编写一个小型 React Native 应用程序 并且正在尝试使用 Flow 但我无法在任何地方真正获得有关它的正确教程 我不断收到错误 destructuring Missing annotation 有关 station 这段代码
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • 尝试将数据存储在点击器网站中

    我正在尝试存储一个名为的变量score无论何时刷新 您都会一次又一次地使用它 我不明白的是它的代码是什么 我尝试了一些方法 但似乎都不起作用 这是我的答题器网站 但是当我尝试使用 JavaScript 来存储它时 它不起作用window o
  • 如何制作没有 ng-repeat 的模板并使用 Angular-drag-and-drop-lists 将数据传递到 $scope?

    我想用角度拖放列表 https github com marceljuenemann angular drag and drop lists使用我自己的网格模板到所见即所得编辑器 如何构建我自己的 HTML 模板而不需要ng repeat因
  • Javascript split 不是一个函数

    嘿朋友们 我正在使用 javascript sdk 通过 jQuery facebook 多朋友选择器在用户朋友墙上发布信息 但是我收到此错误friendId split 不是函数 这是我的代码 function recommendToFr
  • 检查 jQuery 1.7 中是否存在基于文本的选择选项

    所以我有以下 HTML 片段
  • window.location 和 location.href 之间的区别

    我对之间的区别感到困惑window location and location href 两者似乎都以相同的方式行事 有什么不同 window location是一个对象 它保存有关当前文档位置的所有信息 主机 href 端口 协议等 lo
  • 将 UMD Javascript 模块导入浏览器

    你好 我正在对 RxJS 进行一些研究 我可以通过在浏览器中引用它来使用该库 如下所示 它使用全局对象命名空间变量 Rx 导入 我可以制作可观察的东西并做所有有趣的事情 当我将 src 更改为指向最新的 UMD 文件时 一切都会崩溃 如下所
  • Three.js 各种大小的粒子

    我是 Three js 的新手 正在尝试找出添加 1000 个粒子的最佳方法 每个粒子都有不同的大小和颜色 每个粒子的纹理是通过绘制画布创建的 通过使用粒子系统 所有粒子都具有相同的颜色和大小 为每个粒子创建一个粒子系统是非常低效的 有没有
  • 在 HTML 下拉列表中有一个滚动条

    我正在寻找一种在 HTML 的下拉列表中添加滚动条的方法 这样如果下拉列表包含的内容超过例如 5 项 将出现滚动条以查看其余项 这是因为我将被迫列出一些大清单 过去几个小时我一直在谷歌上搜索它 但没有运气 它需要适用于 IE8 FF 和 C
  • 表格行未扩展到全宽

    我有一个表格 当我将表格的宽度设置为 100 并将表格行的宽度设置为 100 时 没有任何反应或宽度发生变化 Table Normal position relative display block margin 10px auto pad
  • Chrome//kendoUI/jQuery:超出最大调用堆栈大小

    我正在使用 hottowell 模板来创建 spa 应用程序 并且我从 jquery 中收到了一个很好的错误 基本上我的问题从此刻开始尝试绑定我的视图 viewModelBinder js 来自 durandal 库 viewModelBi
  • 如何用另一个响应替换窗口的 URL 哈希?

    我正在尝试使用替换方法更改哈希 URL document location hash 但它不起作用 function var anchor document location hash this returns me a string va
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • 从 FileReader 设置背景图像样式

    我正在寻找一种解决方案 允许我从文件上传输入中获取文件并通过设置 document body style backgroundImage 来预览它 以下代码用于在 Image 元素中显示预览 function setImage id tar
  • JavaScript 相对路径

    在第一个 html 文件中 我使用了一个变量类别链接 var categoryLinks Career prospects http localhost Landa DirectManagers 511 HelenaChechik Dim0
  • Jquery - 选择选项后如何获取选项的特定数据类型?

    我将直接跳到标记 然后解释我想要做什么 HTML 选择选项
  • 如何使用asm.js进行测试和开发?

    最近我读到asm js规范 看起来很酷 但是是否有任何环境 工具来开发和测试这个工具 这还只是处于规范阶段吗 您可以尝试使用 emscripten 和 ASM JS 1 并从侧分支在 firefox 构建中运行它 有关 asm js 的链接
  • Vue.js[vuex] 如何从突变中调度?

    我有一个要应用于 json 对象的过滤器列表 我的突变看起来像这样 const mutations setStars state payload state stars payload this dispatch filter setRev

随机推荐

  • 如何在闪亮的仪表板中以特定时间间隔将新行重新绑定到数据表?

    我正在创建一个有 2 个输出的闪亮应用程序datatableoutput and plotoutput 我有2个变量st and et在将初始化为值的数据框中 我需要向具有以下逻辑的现有数据框添加新行1 新st值是之前的值et 2 新et值
  • 亚马逊 S3 CORS 错误

    当我的应用程序通过 amazon S3 上的 Javascript 请求文件时 我收到了权限被拒绝的错误 我设置了一个 CORS 文件 它似乎在大多数情况下都可以工作 但会间歇性地失败 我总是可以通过清除浏览器缓存来解决这个问题 关于这可能
  • 将 DataFrame 保存为 cvs 时 Spark 2.0 DataSourceRegister 配置错误

    我正在尝试将数据帧保存到 Spark 2 0 Scala 2 11 中的 cvs 从 Spark 1 6 迁移代码的过程 sparkSession sql SELECT FROM myTable coalesce 1 write forma
  • 为什么转置 512x512 矩阵比转置 513x513 矩阵慢得多?

    在对不同大小的方阵进行一些实验后 出现了一个模式 总是 转置大小矩阵2 n比转置某一尺寸慢2 n 1 对于较小的值n 差别并不大 然而 超过 512 的值就会出现很大的差异 至少对我来说 免责声明 我知道由于元素的双重交换 该函数实际上并未
  • 如何通过“外键”关系组合json对象

    我有从两个不同的休息资源返回的两个对象 id 1 username jdoe role id 1 role developer members 1 3 5 我想使用普通的 ole javascript 将这两个对象组合成一个 id 位于成员
  • 是否可以从外部 ExtendScript 执行 JSX 脚本?

    通常 当您编写 jsx 脚本来自动化 Adob e 产品 如 InDesign Illustrator 或 Photoshop 时 您可以从 ExtendScript IDE 编写 调试和执行脚本 是否可以绕过 ExtendScript 并
  • 更新 cloud firestore 文档中的单个地图

    最终更新我从使用基于 andresmijares 的以下答案的事务更改为使用 set 现在我可以将数据写入数据库 var gradeDocRef db collection students doc studentId console lo
  • 数组的 [..] 和 [...] 之间没有区别吗?

    Edit 做了一个 github 问题 https github com jashkenas coffee script issues 3452 issuecomment 40976448 一天后它就被 jashkenas 关闭了 因此 要
  • 如何在 iPhone 的 webview 中打开字符串中的 url

    我只想从我的字符串中打开一个网址 我的字符串已经有我只想显示的网址UIWebView myString http maps google com maps zoom 8 sensor false lci transit layer traf
  • 显示另一个 UIWindow 时出现问题

    我正在编写一个 iPad 应用程序 并且正在尝试显示第二个应用程序UIWindow在我的应用程序的主窗口顶部 我想做的主要事情是创建一个登录窗口 如何使用 UISplitViewController 呈现登录 https stackover
  • 开发者可以通过 WatchKit 获取心率原始数据吗?

    是否可以使用 Apple WatchKit 以及用于心跳 心率数据访问 原始数据访问的 API 来开发第三方应用程序 WatchKit SDK 现在对开发者公开可用吗 心率原始数据信息是现在可用 in Watchkit for watchO
  • 从二进制文件中提取对象并放入 List

    我以前做过这个 但不知道我是怎么做到的 我有一个二进制文件 我想在其中存储对象 我已经序列化了对象类 Serializable 并已成功将各个对象保存到文件中 然而 当尝试读取对象并放入其中时 问题开始出现 List lt gt 以便进一步
  • Wordpress 与 Haml/Sass

    使用过Haml http haml lang com and Sass http sass lang com 对于一些 Rails 副项目 我发现它们极大地加快了我的前端开发速度 然而 我还没有找到像 Wordpress 这样强大或客户熟悉
  • PHP 是面向对象的吗?

    PHP 是面向对象的语言吗 如果没有 那么 CakePHP 框架怎么样 它是 PHP 的面向对象 MVC 实现吗 另外 PHP 应用程序可以完全使用classes叫做面向对象 不 PHP 不是完全面向对象的语言 C 或 Java 也不是 因
  • Python插入变量字符串作为文件名

    我试图在每次脚本运行时创建一个具有唯一文件名的文件 我只想每周或每月这样做 所以我选择使用日期作为文件名 f open s csv wb name 这是我收到此错误的地方 Traceback most recent call last Fi
  • Cocos2D 中的评分系统

    我的游戏有碰撞检测功能 当我的导弹击中敌人时 敌人就会消失 我想添加一个评分系统 每次我的导弹击中敌人时都会增加 1 分 我将在下面发布我的游戏代码 我使用了HelloWorldLayer m 这是代码 Link http pastebin
  • sed 就地标志适用于 Mac (BSD) 和 Linux

    是否有调用sedtodo 无需备份即可在 Linux 和 Mac 上进行就地编辑 虽然 BSDsedOS X 附带的似乎需要sed i GNUsedLinux 发行版通常将引号解释为空输入文件名 而不是备份扩展名 并且需要sed i 反而
  • 如何在Racket中使用TCP?

    我试图从客户端向服务器发送消息 并在服务器上打印该消息 服务器 rkt lang racket define the listener tcp listen 9876 define values in out tcp accept the
  • 检测/解析文本中的邮寄地址

    是否有任何开源 商业库可以检测文本中的邮寄地址 就像 Apple 的邮件应用程序在 Mac iPhone 上为地址添加下划线一样 我一直在网上做一些研究 想法似乎是使用 Google Regex 或完整的 NLP 软件包 例如斯坦福大学的
  • JS改变元素的颜色Onclick未定义的颜色

    我想制作一个颜色更改器按钮 但最后一次单击后 颜色将设置为未定义 知道如何删除它吗 var color Orange Red Green Blue var i 0 document querySelector changeColorBtn