2012-06-27 3 views
0

Я пытаюсь сделать это:JQuery Dialog Показать Скрыть эффекты

$('#mypopup').dialog({ 
    modal: true, 
    autoOpen: true, 
    resizable: false, 
    show: {effect:'slide',duration:250}, 
    hide: {effect:'slide',duration:250} 
}); 

затем, чтобы открыть его ...

function showPopup() { 
     if ($('#mypopup').length == 0) { 
      $('#mypopup-div').load('mypopupurl/show.php'); 
     } else { 
      //reopen the login dialog previously rendered, don't load again 
      $('#mypopup').dialog('open'); 
     } 
    } 

затем закрыть ...

$('#mypopup').dialog('close'); 

Моя проблема заключается в том, что эффект показа слайдов в приведенном выше коде работает только в первый раз, когда он действительно загружается с .load ('mypopupurl/show.php'); Когда я закрываю его и снова открываю всплывающее диалоговое окно, он выводит выражение else с помощью .dialog ('open'); кода, на этот раз эффект слайда не произойдет. (не ошибка, просто всплывает, как обычно, но без эффекта)

Это глюк в JQuery? Или это по дизайну? Как заставить эффект работать, когда он попадает в диалоговое окно («открыто»)?

+0

Поместите свой полный код, где вы создать окно, в котором вы называете 'shoPopup' – skafandri

+0

ключ шоу: {...} эффект в диалоговом окне не работает с диалогом ('open'). Я не думаю, что 500 строк полного кода помогут. – Tom

ответ

1

Я думаю, что вы можете сделать что-то вроде $('#mypopup').show(); или $('#mypopup').dialog().show();

+0

omg! оно работает. Благодаря! В чем же разница между .show() и ('open')? кроме как-то открытые не запускают эффекты? – Tom

+0

Я думал, что позвонил. («Закрыть»), поэтому мне нужно было позвонить. («Открыть») снова, оказывается, вызов show() также может открыть диалоговое окно, а также эффекты. – Tom

+0

Не проблема, я не уверен, что только что увидел, что у нее было представление внутри себя, поэтому предположил, что это то, что вы должны использовать. –

Смежные вопросы