为什么我的功能会在页面加载时触发,我该怎么办呢?

时间:2012-10-05 21:28:13

标签: javascript jquery

我有以下javascript。例如,当我加载javascript时,console.log('test')会触发。当我点击登录类的按钮时,我希望它会触发。我做错了什么?

$(document).ready(function() {
    switchImage(5000, '#top .images');
    switchImage(5000, '#top .feature-text');
    $('.login input').focus(function(){
        $('.login .hidden').removeClass("hidden");
        $('.login [type=text]').removeClass("span2").addClass("span3");
    });
    $('.loginbutton').click(login());
});


function login(){
    event.preventDefault();
    console.log('test')
}

function switchImage(wait, element){

    //Fades out first element and put's it in the bottom of the stack
    $(element+'>*:first-child').delay(wait).fadeOut('slow', function() {

        //fade in imag2
        $(element+'>*:nth-child(2)').fadeIn('slow');
        $(element+'>*:first-child').appendTo(element); 
        switchImage(wait, element);
    });
}

1 个答案:

答案 0 :(得分:8)

你有:

$('.loginbutton').click(login());

这表示“单击按钮时,调用login()的结果。

你想要的是:

$('.loginbutton').click(login);

这是“单击按钮时,调用login功能”。