Перенаправить на другую страницу после предупреждения ()?

Возможный дубликат:
окно предупреждения Javascript о закрытии

Привет, я хотел бы спросить, возможно ли иметь идентификатор #myID, при нажатии на который появится всплывающее окно с предупреждением, и через несколько секунд БЕЗ нажатия кнопки OK в предупреждении он будет перенаправлен на другую страницу? Вот мой код:

 $('#myID).click(function(){
     alert('Ta-da! Do not click the OK button just wait for a few seconds before it redirects to other page.');  
 })

Почему-то я этого хочу. Это возможно?


person Tsukimoto Mitsumasa    schedule 27.08.2012    source источник
comment
Только с кастомным диалогом, а не со встроенным alert.   -  person Felix Kling    schedule 27.08.2012
comment
@FelixKling Спасибо, но как мне это сделать в пользовательском диалоговом окне?   -  person Tsukimoto Mitsumasa    schedule 27.08.2012
comment
@CHi: HTML + CSS + JS <div id="my-dialog">Custom Message</div> И #my-dialog { /*CSS Properties to center and zindex*/} И JS, чтобы добавить диалог в DOM, добавить тайм-аут и, возможно, наложить красивое наложение на вещи.   -  person Francis Yaconiello    schedule 28.08.2012
comment
Или .. вот идея .. в большинстве браузеров предупреждение в некотором смысле останавливает скрипт до тех пор, пока не будет выполнено действие. Но даже тогда, с этой логикой, я думаю ... вы всегда можете просто установить время ожидания и дать ему несколько секунд ... но это только в том случае, если вы хотите использовать предупреждение по умолчанию, также нет диалогов предупреждений и других вещей, которые следует учитывать.   -  person chris    schedule 28.08.2012
comment
@Крис, это не работает. alert останавливает выполнение скрипта. таймер по существу останавливается до тех пор, пока сценарий не будет возобновлен.   -  person Francis Yaconiello    schedule 28.08.2012


Ответы (1)


Используйте собственный диалог: быстрый, если на вашем сайте еще нет плагинов, таких как jQuery ui.

var dialog = $('<div id="dialog"> You are going away, Bye Bye </div>');
dialog.css({
    position:'fixed',
    top: 100,
    left: '50%',
    width: '200px',
    'margin-left': '-100px',
    'z-index' : 99999,
    border: '1px solid #444444',
    'background-color' : '#FFFFF'
    });
$('body').append(dialog);

http://jsfiddle.net/R7qSR/

person sabithpocker    schedule 27.08.2012
comment
Я добавил тайм-аут, который хотел ОП, в конце. jsfiddle.net/R7qSR/1 var t=setTimeout(function(){$("#dialog").remove();},3000) - person Francis Yaconiello; 28.08.2012