使用if条件在代码后面调用jQuery

时间:2013-05-27 18:45:20

标签: jquery

当条件为真时,我想在我的代码后面调用jquery。

我的jquery在下面提到它包括一个数组和两个函数,即hideAllmessage和showMessage。默认情况下,所有消息都将被隐藏,如果满足任何条件,将显示成功,错误,信息,警告消息。它是我搜索过并希望实现的插件。我的代码如下:

JQUERY FUNCTION

var myMessages = ['info', 'warning', 'error', 'success']; // define the messages types         
function hideAllMessages() {
    var messagesHeights = new Array(); // this array will store height for each

    for (i = 0; i < myMessages.length; i++) {
        messagesHeights[i] = $('.' + myMessages[i]).outerHeight();
        $('.' + myMessages[i]).css('margin-top', -messagesHeights[i]); //move element outside viewport      
    }
}

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

$(document).ready(function () {

    // Initially, hide them all
    hideAllMessages();

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

    // When message is clicked, hide it
    $('.message').click(function () {
        $(this).animate({ marginTop: -$(this).outerHeight() }, 500);
    });
});

代码背后

ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>showMessage('error')</Script>");

2 个答案:

答案 0 :(得分:0)

您只能在后面的代码中注册您的javascript。您无法从后面的代码中调用创建的脚本,因为它在之前执行 javascript。目前只有两种选择。

  1. 在服务器端使用nodejs
  2. 使用ajax请求在时间和之后做任何你需要的事情 javascript已加载。

答案 1 :(得分:0)

试试这个

<input id="textbox1" onblur="test()" />
function test(){
 if ( $('#textbox1').val().length == 1) {  showMessage('error'); }
}

但你应该在这件事上挖掘更多。跟随别人的代码是不够的