Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS手风琴没有打开_Javascript_Html_Css_Accordion - Fatal编程技术网

Javascript JS手风琴没有打开

Javascript JS手风琴没有打开,javascript,html,css,accordion,Javascript,Html,Css,Accordion,我有一个网站上有一些JS手风琴,他们不打开,但他们在codepen上。我在chrome上的控制台中查看过,没有出现任何错误消息。但是,当我在Firefox的控制台中查看时,我7次收到以下错误消息: 不支持“文本/html”的HTTP“内容类型”。加载媒体资源失败。homebeta.html 未能加载所有候选资源。媒体加载暂停。homebeta.html 我不知道这里发生了什么,所以非常感谢您的帮助 其中一个手风琴的相关代码如下: <dt> <a href="#accordi

我有一个网站上有一些JS手风琴,他们不打开,但他们在codepen上。我在chrome上的控制台中查看过,没有出现任何错误消息。但是,当我在Firefox的控制台中查看时,我7次收到以下错误消息:

不支持“文本/html”的HTTP“内容类型”。加载媒体资源失败。homebeta.html

未能加载所有候选资源。媒体加载暂停。homebeta.html

我不知道这里发生了什么,所以非常感谢您的帮助

其中一个手风琴的相关代码如下:

<dt>
  <a href="#accordion2" aria-expanded="false" aria-controls="accordion2" class="accordion-title accordionTitle js-accordionTrigger">
    <img src="http://xurbia.tk/alpha/pictures/Play_button_next_stop_music_pause.png" height=40px class="pull-left"/>
    Detox
    <img src="http://xurbia.tk/alpha/pictures/Play_button_next_stop_music_pause.png" height=40px class="pull-right"/></a>
</dt>
<dd class="accordion-content accordionItem is-collapsed" id="accordion2" aria-hidden="true">
  <img src="http://xurbia.tk/alpha/pictures/accordian%20pictures/Detox.PNG" width="100%" height="100%" />
  <audio controls>
    <source src="" type="audio/wav" width="100%">
      Your browser does not support the audio element.
  </audio>
</dd>

这是我开始制作手风琴的密码笔:

以下是他们不参与的网站:

您的问题是您的JS在加载页面之前执行。在
元素的末尾插入JS是一种很好的做法

您还可以使用事件在页面加载后激发,如下所示:

window.onload = function(){
    //Page has loaded
}

在实时站点上,您的JavaScript是使用模块模式编写的,这很好

此模式使用立即调用的函数表达式

这意味着函数一经声明,就会被调用(并执行)

由于此脚本位于页面的
部分,因此它在加载DOM之前(在实际页面加载之前)执行

这意味着您的JavaScript尝试添加事件监听器并操作尚不存在的元素

要解决此问题,请将
标记移出
,并将其作为
标记中的最后一个元素

这将产生在创建了所有必要元素后调用JavaScript的效果


(您的示例在Codepen中工作,因为它们在加载DOM后执行JavaScript)

在比较了两个html文件的源代码后,我注意到有一点差异。我看到的唯一区别是:广告、视口和元标记。我很好奇,这可能与你投放的广告有冲突吗?谢谢你现在的作品。我认为这些广告没有任何冲突。