Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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函数_Javascript_Jquery_Html_Css - Fatal编程技术网

未调用Javascript函数

未调用Javascript函数,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我的网站使用导航条来切换div的开和关,以进入不同的“页面”。最近按钮停止了响应(单击时没有发生任何事情,控制台中也没有显示任何内容),我无法找出原因 我的导航栏的格式如下: <a href="#" id="videosButton">videos</a><br> <a href="#" id="graphicButton">graphic design</a><br> <a href="#" id="webButto

我的网站使用导航条来切换div的开和关,以进入不同的“页面”。最近按钮停止了响应(单击时没有发生任何事情,控制台中也没有显示任何内容),我无法找出原因

我的导航栏的格式如下:

<a href="#" id="videosButton">videos</a><br>
<a href="#" id="graphicButton">graphic design</a><br>
<a href="#" id="webButton">web design</a><br>
<div id="videos" class="page">Videos page</div>
对于每个按钮。我的JS文件正在加载,我可以在控制台中查看它,所以这不是问题。我已经为此挣扎了几个小时,我不知所措。有人能帮我理解为什么导航栏没有按预期运行吗


编辑:我已将外部JS和jQuery移动到关闭
标记之前,问题仍然存在。如果有人认为我发布的代码中没有问题,我已经在上建立了完整的网站。

可能是您在元素存在之前运行了该代码,因此
$(“videosButton”)
不匹配任何元素,因此没有连接任何处理程序。确保代码位于HTML中元素的标记之后的
脚本
标记,或者使用jQuery的
ready
回调作为第二种最佳方法。如果您这样做,函数将被调用:

$(“#视频按钮”)。单击(函数(){
document.body.style.backgroundColor=“rgb(192,57,43)”
$(“.page”).hide();
$(“#视频”).show();
});




我的页面的格式如下:
视频页面
可能是您在元素存在之前运行该代码,因此
$(“videosButton”)
不匹配任何元素,因此不连接任何处理程序。确保代码位于HTML中元素的标记之后的
脚本
标记,或者使用jQuery的
ready
回调作为第二种最佳方法。如果您这样做,函数将被调用:

$(“#视频按钮”)。单击(函数(){
document.body.style.backgroundColor=“rgb(192,57,43)”
$(“.page”).hide();
$(“#视频”).show();
});




我的页面的格式如下:

视频页面
原来问题完全是另外一回事。尽管我将我的站点的外部JS文件和jQuery链接向下移动到了
标记,但它们被忽略了,因为我在
中留下了一个
(指向Google API的链接)。当我把它和其他脚本一起放下来时,一切都突然开始起作用了。我不确定这为什么会导致其他脚本被忽略,但它解决了我的问题。

事实证明,问题完全是另外一回事。尽管我将我的站点的外部JS文件和jQuery链接向下移动到了
标记,但它们被忽略了,因为我在
中留下了一个
(指向Google API的链接)。当我把它和其他脚本一起放下来时,一切都突然开始起作用了。我不知道这为什么会导致其他脚本被忽略,但它解决了我的问题。

PS:代替
document.body.style.backgroundColor=“rgb(192,57,43)”
你可以使用
$(“body”).css({backgroundColor:“rgb(192,57,43)”,它会让你入睡better@RokoC.Buljan:在这种情况下,没有理由这样做。@Phil是Just Add jQuery的典型例子™.@RokoC.Buljan请不要在评论中谈论离题话题。@HenryFloyd我知道。。。好的,快乐编码和睡眠更多:)PS:代替
document.body.style.backgroundColor=“rgb(192,57,43)”
你可以使用
$(“body”).css({backgroundColor:“rgb(192,57,43)”),它会让你入睡better@RokoC.Buljan:在这种情况下,没有理由这样做。@Phil是Just Add jQuery的典型例子™.@RokoC.Buljan请不要在评论中谈论离题话题。@HenryFloyd我知道。。。好吧,快乐编码和睡眠更多:)我已经把我所有的脚本移到了最后,问题仍然存在,不幸的是。@HenryFloyd:那么有一些事情不在你的问题中。如果你认为我发布的代码中没有问题,我已经在上建立了我的网站。@HenryFloyd:这不是它的工作原理:这不仅仅是为了帮助你,现在是为了帮助别人,将来也是为了帮助别人。外部链接腐烂:一旦问题得到解决,该链接将变得无用。相反,创建一个脚本并将其发布到您的问题中。我已将所有脚本移到问题的末尾,但问题仍然存在,不幸的是。@HenryFloyd:那么有一些事情不在你的问题中。如果你认为我发布的代码中没有问题,我已经在上建立了我的网站。@HenryFloyd:这不是它的工作原理:这不仅仅是为了帮助你,现在是为了帮助别人,将来也是为了帮助别人。外部链接腐烂:一旦问题得到解决,该链接将变得无用。相反,创建一个链接并将其发布到您的问题中。此答案不会直接回答您的问题。我可以看到你的问题标题为
“Javascript函数未被调用”
,你为你的问题提供了一个权利-我可以看到你已经有了一个有效的答案。其他答案都没有解决我的问题。原来我的整个JS文件都被忽略了,因为它在我的页面中的位置。有趣的是,通过应用我提到的更改,您网站上的JS代码开始工作得很好。-另一个建议-目前您只需使用.show().hide()更改页面-因此URL不会像这样更改:
http://hdf.bl.ee/test/index.html#videos
这将允许您向朋友发送链接,他将直接打开
#视频
页面。探索JS
hash
anchors;如何从URL读取哈希;如何使用JS的History API、pushState和popState。另一个建议是——为了让它更便于移动(即使你的元素/页面不可见,也要加载大量数据),你可以创建单独的页面,如videos.html等——点击后——使用AJAX推送该页面的内容(无需页面刷新!)。@RokoC.Buljan I had
$('#videosButton').click(function () {
document.body.style.backgroundColor="rgb(192,57,43)"
$(".page").hide();
$('#videos').show();
});