JavaScript函数不会触发CSS更新和.getElementById

问题描述 投票:-1回答:1

基于this question关于JS中的切换,我已经为两个div的切换显示/隐藏创建了一个解决方案,并从JS更新了不同的span文本(在这里小提琴:https://jsfiddle.net/k5gbsxca/4/)。

问题是没有javascript会触发,当我使用之前部署的功能时,我无法确定原因。

javascript对三个不同的onclick事件做出反应,所有事件都依赖于读取和更新变量:

var state = {
lang: "en",
latinview: "inter"
}

jsfiddle中的功能(使用switchif):

onclick="changeDocView()"

  • 取决于state.latinview:更改按钮和<h4>文本
  • 显示/隐藏div class="document-inter"div class="document-diplo"

onclick="showFrench()"

  • 显示class="fr"
  • 隐藏class="en"
  • 取决于state.latinview:更改按钮和<h4>文本

onclick="showEnglish()"

  • 显示class="en"
  • 隐藏class="fr"
  • 取决于state.latinview:更改按钮和<h4>文本

逻辑完全按照我的需要,在组件中工作。但这是我第一次尝试基于在JS中测试变量来触发动作。

提前谢谢了。

javascript jquery
1个回答
1
投票
  • 添加jquery库,
  • 在加载类型选项中,选择无包装 - 头部的底部(在脚本编辑器的顶部)。 jsfiddle中的默认加载类型是“On Load”,当选择“On Load”时,您的代码包含在onload方法中,并且无法从html调用js函数。或者,您可以在这样的js中设置事件函数,

document.getElementById("idOfElement").onclick = function(){//do something}

工作代码:https://jsfiddle.net/ercanpeker/exwkco2r/

© www.soinside.com 2019 - 2024. All rights reserved.