jquery函数如何调用?

时间:2012-06-29 08:39:21

标签: jquery html css

我是jquery的新手,但是遇到了一些问题。请任何人告诉我,这是以下代码中的代码块,它调用了'hideAllMessages'函数。点击('信息','错误','警告','成功')

,它正在调用hideAllMessages函数,但无法理解哪个是代码块,谁在执行此任务。

FIDDLE

由于下一行中没有javascript'onclick'功能。

<li><a href="#" class="trigger info-trigger">Info</a></li>

实际上我想在点击('信息','错误','警告','成功')后询问代码流。

3 个答案:

答案 0 :(得分:0)

首先从jquery准备好文档时调用hideAllMessages();

之后,您的showMessage(myMessages[i]);被调用,hideAllMessages();再次被用作showMessage()中的<{1}}。

答案 1 :(得分:0)

尝试Ctrl+F :-)您似乎忽略了以下代码部分:

$(document).ready(function(){
    alert("ready function called");
    // Initially, hide them all
    hideAllMessages();
    ...

此外,它是从showMessage - 函数:

安装的点击处理程序调用的
$('.'+ type +'-trigger').click(function(){
    hideAllMessages();                  
    $('.'+type).animate({top:"0"}, 500);
});

HTML中不需要onclick属性,install event listeners的常用方法纯粹是DOM任务(jQuery method)。

答案 2 :(得分:0)

首先,

jQuery以类似于javascript的方式工作。

除非被调用,否则函数不会被“激活”。

仔细查看代码,您会发现有一个

$(document).ready(function{
    //insert code here
});

上面的代码会在您的页面加载时从上到下运行。

在这段代码完成运行后,你的jQuery将停止运行。

但是你也会意识到每个“li”都有一个“触发”功能,它会激活show-message功能,显示各自的信息。

这就是你的代码如何工作

编辑:

$(document).ready(function(){
alert("ready function called");

     // Initially, hide them all
     hideAllMessages();

     // Show message
     for(var i=0;i<myMessages.length;i++)
     {
        showMessage(myMessages[i]);
     }

加载页面时,“showMessage函数被调用4次。(正如您所看到的,页面加载时会有4条弹出消息。)

每次调用showMessage函数时,都会发送一个“type”。其中包括信息,错误等。

function showMessage(type)
{
alert("showMessage function called");
$('.'+ type +'-trigger').click(function(){
      hideAllMessages();                  
      $('.'+type).animate({top:"0"}, 500);
});
}

然而,在每个showMessage函数中,没有任何实际运行,该函数仅在单击“按钮”时运行。

$('.info-trigger'.click(function(){

在上面的例子中,'info'类型被传递到showMessage函数,它将替换'type',从而生成info-trigger。

单击信息按钮时,该函数将首先运行hideMessage函数,然后运行animate函数。

希望这能解释。