Andy
Andy

Reputation: 23

jquery simple modal help on window load

I'm trying to something like this if in the html there is a div called "#super" load it in the simple modal if not do nothing. I managed to do this with the my skill :D which is none: to load the modal if the #super exists, but it still loads doesn't matter if it exitst or not. PLease help I'm absolute noob on jquery.

    if( $('super') ){    $("#super").modal({onOpen: function (dialog) {

    dialog.overlay.fadeIn('slow', function () {
        dialog.container.slideDown('slow', function () {
            dialog.data.fadeIn('slow');
        });
    });
}});

I'm using this jquery plugin link text

Upvotes: 2

Views: 443

Answers (3)

Matthew Manela
Matthew Manela

Reputation: 16752

The problem is this check

if( $('#super') )

will always return true, since the jQuery function always return a jQuery object which is not a false value.

Instead try this

if( $('#super').length > 0 )

Upvotes: 0

Eric Martin
Eric Martin

Reputation: 2841

If #super does not exist, nothing will happen. So, the following should fit your needs:

$("#super").modal({onOpen: function (dialog) {
    dialog.overlay.fadeIn('slow', function () {
        dialog.container.slideDown('slow', function () {
            dialog.data.fadeIn('slow');
        });
    });
});

Upvotes: 2

David Thomas
David Thomas

Reputation: 253328

I'm not quite sure what it is that you want to do, in the if/else conditions, but to test for the existence of something:

if ($('#super').length) {
    // it exists, do stuff
}
else {
    // it doesn't exist, do other stuff. Or nothing
}

I'm sorry I can't be more specific, but I've not worked with the dialog/modal plugin.

Upvotes: 1

Related Questions