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 为什么Body Onload不能与函数一起工作_Javascript_Jquery_Html - Fatal编程技术网

Javascript 为什么Body Onload不能与函数一起工作

Javascript 为什么Body Onload不能与函数一起工作,javascript,jquery,html,Javascript,Jquery,Html,我不知道为什么会发生这种情况,这可能只是一个基本的错误,但我的body能够调用函数,因为: 未捕获引用错误:未定义changeImg 以下是我的相关PHP/HTML: 当它说函数未定义时,这通常意味着声明函数的javascript必须在调用函数的代码之前调用 在您的示例中(如果粘贴整个代码会更好),我想您应该将JS代码放在标记中,这应该可以解决您的问题 另一种选择是使用document.ready事件或document.load事件,但不直接绑定在标记中,而是在正文的末尾。我想在您的代码中,年是

我不知道为什么会发生这种情况,这可能只是一个基本的错误,但我的
body
能够调用函数,因为:

未捕获引用错误:未定义changeImg

以下是我的相关PHP/HTML:


当它说函数未定义时,这通常意味着声明函数的javascript必须在调用函数的代码之前调用

在您的示例中(如果粘贴整个代码会更好),我想您应该将JS代码放在
标记中,这应该可以解决您的问题


另一种选择是使用document.ready事件或document.load事件,但不直接绑定在标记中,而是在正文的末尾。

我想在您的代码中,
年是什么?“$p\u日期[0]”

这可能是一个值。但您必须将其作为变量传递

或者可能是函数changeImg未加载,或者在声明changeImg之前存在一些错误


有时,如果JavaScript中存在错误或异常,则显示后的函数未定义。

问题似乎在于函数体。检查小提琴。

它得到函数。也许你没有在ondom ready或内部绑定它

$(document).ready()

自从“早些时候”以来,你改变了什么?您是否尝试过在浏览器中使用开发人员工具(F12)来查看呈现的代码中是否存在语法错误?请注意:
if(galleryYear=stored\u year){
应该是
if(galleryYear==stored\u year){
@freefaller我更改了一些内容,但返回并取消了它们以将其恢复到工作状态,只是现在它甚至不工作,我无法解决这个问题。@RomainBraun修复了这个问题,但没有修复找不到的函数。逻辑错误确实是一个错误(它是一个语义错误)…但是你抱怨的是一个语法错误。因此,你需要开发工具。Javascript不应该在
主体
关闭之前出现吗?因为我的脚本链接就在那里,
主体
在这些脚本完全加载之前不应该点击
加载
检查点。如果e OP还没有显示函数调用是在
为什么使用php body onLoad打印中进行的(……?它比任何东西都重要javascript@vodichphp正在插入一个在my header.vodich之前生成的变量-这就是为什么我说,我们需要整个脚本来查看他何时加载它。但是如果在body标记中需要JS,则必须在这之前定义它-这意味着在head中
var currentImg = 0;
var totalImg = 0;
var stored_year = 0;

$("#next-button").click(function() {
if (currentImg == totalImg) {
    currentImg = 0;
}
else {
    currentImg++;
}
changeImg();
});

$("#previous-button").click(function() {
if (currentImg == 0) {
    currentImg = totalImg;
}
else {
    currentImg--;
}
changeImg();
});

function changeImg(galleryYear) {

alert('in here');

}
$(document).ready()