2010-03-27 1 views
0

Im создает модальное всплывающее окно с использованием jquery. Im обжиг модальных всплывающий через событие нажатия кнопки и соответствующий код здесьJQuery Click Event Problem

$(document).ready(function() { 
      $("#Button1").click(function() { 
       el = document.getElementById("overlayDiv"); 
       el.style.visibility = "visible"; 
       el1 = document.getElementById("progress"); 
       el1.style.visibility = "visible"; 
       el2 = document.getElementById("image"); 
       el2.style.visibility = "hidden"; 
      }); 
     }); 

Это работает, когда я нажимаю кнопку на первом, после того, что оно не работает.

Thanks, Hari.

+0

Два элемента показаны и один скрытый. Вы меняете это в какой-то более поздний момент? Если да, то как? Если нет, что вы ожидаете? – deceze

+0

как вы их спрячете, как только вы закрываете модальное окно? –

+0

Если вы используете jQuery, почему бы не использовать функции jQuery вместо javascript/css старой школы. show() hide() & $() - ваш друг. – JKirchartz

ответ

2

visibility и display (используется .hide()) разные. Вместо visibility: hidden, в вашем использовании CSS display: none, то вы можете использовать функции JQuery в show()/hide() так:

$("#Button1").click(function() { 
    $("#overlayDiv, #progress").show(); 
    $("#image").hide(); 
});​ 

Это звучит, как вы используете .hide(), чтобы скрыть модальность, если это так, то это исправить проблема. Кроме того, немного меньше кода :)

+0

Здесь мое событие click происходит только один раз, моя потребность в том, что это должно произойти в течение последовательных времен. – Hari

+0

@ram Можете ли вы подтвердить, что это так, если вы нажмете предупреждение? Мне кажется, что это не имеет никакого эффекта, чем не стреляет. Кроме того, находится ли она в панели обновления или заменена на ajax иначе? –

0

Попробуйте это

$find(Your popup ID).show();