2011-01-22 1 views
2

Я пытаюсь что-то вроде этого, если в html есть div, называемый «#super», загружает его в простой модальный, если ничего не делать. Мне удалось сделать это с помощью моего умения: D, которому нет: загрузить модальный, если существует #super, но он все еще загружается, не имеет значения, выйдет ли он из exitst или нет. PLease help Я абсолютный noob на jquery.jQuery простая модальная помощь при загрузке окна

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

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

Я использую этот плагин JQuery link text

ответ

2

Если #super не существует, ничего не произойдет. Таким образом, следующее должно соответствовать вашим потребностям:

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

Это лучший ответ, чем мой. –

+0

Спасибо :), но я все еще получаю сообщение об ошибке :) – Andy

+0

Спасибо, но он по-прежнему загружается как пустое модальное окно, если я меняю #super на #superbas или что-то, что мне нужно, чтобы он вообще не отображался, если div #super не существует в html :) – Andy

0

Проблема заключается в чек

if($('#super')) 

всегда возвращает истину, так как функция JQuery всегда возвращает объект JQuery, который не является ложным стоимость.

Вместо этого попробуйте

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

Я не совсем уверен, что это то, что вы хотите сделать, в случае/иначе условия, но, чтобы проверить на существование чего-то:

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

Прошу прощения, я не могу быть более конкретным, но я не работал с диалоговым/модальным плагином.