2014-01-29 5 views
0

Я пытаюсь создать jquery на показе клика и скрыть всплывающее окно.Jquery on click show and hide

Мне удалось создать клик и показать, но вам нужно будет сделать всплывающее окно, когда вы нажмете на темный bg.

Пожалуйста, смотрите Js Fiddle здесь

$('#some-button').on('click', function() { 
    $('#overlay, #overlay-back').fadeIn(500); 
}); 
+1

'$ ('# накладка, # накладка-назад') fadeToggle (500) и' # некоторые кнопки {позиция: относительная; z-индекс: 100; } ' – mdesdev

+0

' $ ("div # overlay"). Click (function() {$ (this) .slideUp(); $ ("div # overlay-back"). SlideUp()}); ' –

ответ

0
$('#some-button').on('click', function() {   
    $('#overlay, #overlay-back').fadeIn(500); 
    $("#overlay").on("click", function(){ 
     $("#overlay").off("click"); 
     $(".callme").off("click"); 
     $("#overlay, #overlay-back").fadeOut(500); 
    }); 
    $(".callme").on("click", function(e){ 
     e.stopPropagation(); 
    }); 
}); 
0

Добавьте это в JavaScript:

$("#overlay").on('click',function(){ 
    $('#overlay, #overlay-back').fadeOut(500); 
}); 
1

Просто создать FADEOUT на накладкой нажмите

$('#some-button').on('click', function() { 
    $('#overlay, #overlay-back').fadeIn(500); 
}); 
// Fadeout 
$('#overlay').on('click', function() { 
    $('#overlay, #overlay-back').fadeOut(200); 
}); 
+0

нужно' e.stopPropagation() 'в фактическом всплывающем окне, чтобы предотвратить запуск события при нажатии активной области. – Eternal1

+0

Привет, как бы добавить закрытие x вместо темного фона? – user2965875

+0

Добавить кнопку и поместить ее туда, где вы хотите, чтобы она отображалась на экране. Теперь используйте тот же метод ^, чтобы закрыть div. например: '$ ('# button-id'). on ('click', function() { $ ('# overlay, # overlay-back'). fadeOut (200); });' –

0

Вы можете использовать это:

$('#overlay').on('click', function() { 
    $('#overlay, #overlay-back').fadeOut(500); 
}); 

$('.callme').on('click', function (e) { 
    e.stopPropagation(); 
}); 

Fiddle Demo

0

В основном вы добавляете обработчик щелчка к накладке и проверьте, чтобы убедиться, что .callme ДИВ не были нажаты, а затем скрыть пометки. .

$('#overlay').click(function(e){console.log(e); 
    if ($(e.target).is(':not(.callme)')){ 
     $('#overlay, #overlay-back').fadeOut(500); 
    } 
}); 

http://jsfiddle.net/EtHbf/300/