javascript - 在 Firefox 中加载 JQuery 对象的顺序与在 Chrome/Opera 中不同?

标签 javascript jquery html loading show-hide

在 Firefox 上执行时,我在 HTML 和 Javascript 文件中加载 jQuery 对象的顺序有问题。 我有几个<div><button>带有不同 id 的标签.该页面以以下代码开头:

<script>
$(document).ready(function () {
   $("#id_1").show();
   $("#id_2").hide();
   $("#id_3").hide();
   ...
});

$(document).ready(function () {
   $.getJSON("JSON_file.json", function (json) {
      if (json.option[number] == "b") {
         $("#id_2").show()
      };

      if (json.option[number] == "c") {
         $("#id_3").show()
      };
   });
});
</script>

在 Chrome 和 Opera 中,这段代码没有问题。对象“#id_2”和“#id_3”在加载时不可见。 但是在 Firefox 中,“#id_2”和“#id_3”在被隐藏之前会显示一小段时间。但我不希望它们在一开始就可见。

我使用本地主机打开文件。

有人知道我做错了什么吗?

最佳答案

您好,您可以在 div 中添加默认隐藏调用,然后在基本条件下删除该调用。 喜欢

<div id="#id_1" class='hide'>
My Div 1
</div>
<div id="#id_2" class='hide'>
My Div 1
</div>
<div id="#id_3" class='hide'>
My Div 1
</div>

现在你的脚本代码

<script>


$(document).ready(function () {
   $.getJSON("JSON_file.json", function (json) {
      if (json.option[number] == "b") {
         $("#id_2").removeClass('hide')
      };

      if (json.option[number] == "c") {
         $("#id_3").removeClass('hide')
      };
   });
});
</script>

关于javascript - 在 Firefox 中加载 JQuery 对象的顺序与在 Chrome/Opera 中不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48622741/

相关文章:

javascript - 我想使用相同的 jquery 添加多个画廊

html - using::after with ~ 在同一个选择器中

JavaScript onClick函数触发ActionsScript3事件

Jquery cookie不会过期

javascript - Chrome、边距和 jQuery 动画

Html弹出窗口,父级应该无权访问

javascript - 两个 Canvas 作为 Three.js 中平面的纹理

JAVASCRIPT - 单击更改元素 CSS

javascript - Parse.com - 如何在不知道密码的情况下以用户身份登录?

javascript - 如何在PHP中的同一脚本中读取上传的文档?