Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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 jQuery就绪函数_Javascript_Jquery - Fatal编程技术网

Javascript jQuery就绪函数

Javascript jQuery就绪函数,javascript,jquery,Javascript,Jquery,有人能告诉我为什么DocumentReady函数需要先调用function吗?我被告知,下面第一个示例中的setTimeout(不起作用)将被计算并传递给ready,但我看不出第二个示例中的函数调用(起作用)有什么区别 后者定义了文档准备就绪时将调用的函数,并将其作为参数传递给$(document).ready()。在前者中,传递给$(document).ready()的参数是计算setTimeout命令的结果,因此是的,在第一种情况下,setTimeout调用是立即的。后者定义了一个函数,该函

有人能告诉我为什么DocumentReady函数需要先调用function吗?我被告知,下面第一个示例中的setTimeout(不起作用)将被计算并传递给ready,但我看不出第二个示例中的函数调用(起作用)有什么区别


后者定义了文档准备就绪时将调用的函数,并将其作为参数传递给
$(document).ready()
。在前者中,传递给
$(document).ready()
的参数是计算
setTimeout
命令的结果,因此是的,在第一种情况下,
setTimeout
调用是立即的。

后者定义了一个函数,该函数将在文档准备就绪时调用,并将其作为参数传递给
$(document).ready()
。在前者中,传递给
$(document).ready()
的参数是计算
setTimeout
命令的结果,因此是的,在第一种情况下,
setTimeout
调用是立即的。

您需要将回调传递给
ready()
setTimeout
不会返回回调,也不会按照您的方式立即执行回调,并将其结果作为参数传递给
ready
函数。这不是您想要的


只需将它包装在
函数(){}
中,它就会工作。

您需要将回调传递给
ready()
setTimeout
不会返回回调,它会立即执行,其结果作为参数传递给
ready
函数。这不是您想要的


只需将它包装在
函数(){}
中,它就会工作。

jQuery需要一个它可以调用的匿名函数


jQuery需要一个它可以调用的匿名函数


您提供的函数是一个回调函数,在DOM就绪时执行(整个页面可能尚未加载)。

您提供的函数是一个回调函数,在DOM就绪时执行(整个页面可能尚未加载)。

您需要向ready函数传递一个委托:

$(document).ready(function() {
    // Do something
});
或者简单地说:

$(function() {
    // Do something
});

您需要将委托传递给ready函数:

$(document).ready(function() {
    // Do something
});
或者简单地说:

$(function() {
    // Do something
});

让我们考虑一个更简单的例子。

function f (g) {
   g();
}
此函数
f
接受函数参数
g
并调用它。因此,我们希望
g
是一个函数

现在

相当于

var param = alert("Wrong");
f(param);
您可以看到,在第一行中,将显示警报框(在对语句求值时),并将
undefined
返回到
param
。但是
f
需要一个函数,而不是
undefined

需要函数。一种方法是创建函数:

function param () { alert("Right"); }
f(param);
但是Javascript也支持匿名函数,形式为

var param = function () { alert("Right"); }
f(param);
现在消除将得到的
param
变量

f(function () { alert("Right"); });


<> >对应于您的问题,<代码> f>代码>是代码> $(文档)。就绪< /COD>和<代码>警报<代码>是<代码> SETTIMEOUT函数。

让我们考虑一个更简单的例子。

function f (g) {
   g();
}
此函数
f
接受函数参数
g
并调用它。因此,我们希望
g
是一个函数

现在

相当于

var param = alert("Wrong");
f(param);
您可以看到,在第一行中,将显示警报框(在对语句求值时),并将
undefined
返回到
param
。但是
f
需要一个函数,而不是
undefined

需要函数。一种方法是创建函数:

function param () { alert("Right"); }
f(param);
但是Javascript也支持匿名函数,形式为

var param = function () { alert("Right"); }
f(param);
现在消除将得到的
param
变量

f(function () { alert("Right"); });


与您的问题相对应,
f
$(文档)。ready
alert
setTimeout
功能。

不,它不工作,至少不一样。尽管在第一个示例中计时器启动,但当
ready
事件发生时,它不会启动

在第一个示例中,
ready
方法被调用,其结果来自
setTimeout
方法。由于
setTimeout
返回超时句柄,而不是
ready
方法可以使用的委托,它与以下内容相同:

setTimeout(
    function(){
        $('#set_3').innerfade({
            animationtype: 'fade',
            speed: 'slow',
            timeout: 3000,
            type: 'sequence',
            containerheight: '180' });
    },
    2000);

$(document).ready();

因此,立即调用
setTimeout
方法,对
ready
的调用根本没有任何效果。

不,它不起作用,至少不起作用。尽管在第一个示例中计时器启动,但当
ready
事件发生时,它不会启动

在第一个示例中,
ready
方法被调用,其结果来自
setTimeout
方法。由于
setTimeout
返回超时句柄,而不是
ready
方法可以使用的委托,它与以下内容相同:

setTimeout(
    function(){
        $('#set_3').innerfade({
            animationtype: 'fade',
            speed: 'slow',
            timeout: 3000,
            type: 'sequence',
            containerheight: '180' });
    },
    2000);

$(document).ready();

因此,立即调用
setTimeout
方法,对
ready
的调用根本没有任何效果。

…如果$('#set_3'),则可能会导致错误元素在2秒后未加载。通常,第一次调用对我来说完全没有意义…在第一种情况下,没有意义,因为它不知道如何处理…返回的整数,如果$(“#set_3”),则可能会导致错误元素在2秒后没有加载。通常,第一次调用对我来说毫无意义……在第一种情况下,它不知道如何处理通过说它需要匿名函数返回的整数有点误导。执行以下操作很好:
function namedf(){alert(“hello”}))$(document).ready(namedef)
虽然jquery传入后不会按名称调用函数,但该函数并不是真正的匿名函数。说它需要匿名函数有些误导。做以下工作很好:
functionnamedf(){alert(“hello”}))$(document).ready(namedef)
然而,一旦传入,jquery将不会调用这个函数