Подтвердить что ты не робот

Как включить и выключить бутстрап-предупреждение нажатием кнопки?

Я хочу отображать окно предупреждения несколько раз с событием нажатия кнопки без обновления страницы, но окно предупреждения появляется только один раз. Если я хочу снова показать окно предупреждения, мне нужно обновить страницу.

В настоящее время, если вы визуализируете оповещение начальной загрузки на странице, когда вы ее закрываете, контейнер контейнера предупреждения выводится со страницы. Поэтому, когда вы снова нажимаете кнопку, она больше не появляется. Я делал следующее на кнопке закрытия, чтобы скрыть его, вместо удаления контейнера div с предупреждением.

<button class="close" onclick="$('#alertBox').hide();; return false;">×</button>

Интересно, может ли использование перетаскивания данных или увольнение данных в bootstrap сделать такой эффект переключения, не пройдя через мои собственные Javascript-обработчики.

4b9b3361

Ответ 1

У меня была такая же проблема: просто не используйте data-dismiss с помощью кнопки закрытия и работайте с JQuery show() и hide():

$('.close').click(function() {
   $('.alert').hide();
})

Теперь вы можете показать предупреждение при нажатии кнопки с помощью кода:

$('.alert').show()

Надеюсь, это поможет!

Ответ 2

На самом деле вам следует подумать о том, чтобы использовать что-то вроде этого:

$('#the-thing-that-opens-your-alert').click(function () {
  $('#le-alert').addClass('in'); // shows alert with Bootstrap CSS3 implem
});

$('.close').click(function () {
  $(this).parent().removeClass('in'); // hides alert with Bootstrap CSS3 implem
});

Поскольку bootstrap fade/in использует CSS3 вместо JQuery, скрыть/показать в полном Javascript. Я хочу сказать, что на мобильных устройствах CSS3 быстрее, чем Js.

И ваш HTML должен выглядеть так:

<a id="the-thing-that-opens-your-alert" href="#">Open my alert</a>

<div id="le-alert" class="alert alert-warn alert-block fade">
  <button href="#" type="button" class="close">&times;</button>
  <h4>Alert title</h4>
  <p>Roses are red, violets are blue...</p>
</div>

И это довольно круто! Проверьте его в jsFiddle =)

Ответ 3

Я просто использовал модельную переменную, чтобы показать/скрыть диалог и удалить данные-увольнять = "alert"

например,

<div data-ng-show="vm.result == 'error'" class="alert alert-danger alert-dismissable">
    <button type="button" class="close" data-ng-click="vm.result = null" aria- hidden="true">&times;</button>
    <strong>Error  !  </strong>{{vm.exception}}
</div>

работает для меня и останавливает необходимость выхода в jquery

Ответ 4

Вам не нужно использовать jquery для выполнения этого, здесь только для начальной загрузки.

Кнопка включения/выключения:

<button type="button" class="btn" data-toggle="collapse" href="#my-alert-box">
   <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
</button>

Предупреждение с кнопкой закрытия, которая скрывает предупреждение (так же, как нажатие кнопки show/hide):

<div id="my-alert-box" class="alert alert-info collapse" role="alert">
   <button type="button" class="close" data-toggle="collapse" href="#my-alert-box">
      <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
   </button>
   <p>Look, here a show/hide alert box without jquery...</p>
</div>

Ответ 5

Вы можете добавить класс .hidden к вашему оповещению, а затем в Google. См.: JSFiddle

HTML

<a id="show-my-alert" href="#">Show Alert</a>

<div id="my-alert" class="alert alert-warning hidden" role="alert">
    <button type="button" class="close" data-dismiss="alert" aria-label="Close">    
        <span aria-hidden="true">&times;</span>
    </button> 
    <strong>Warning!</strong> Better check yourself, you're not looking too good.
</div>

JavaScript

$("#show-my-alert, .close").click(function() {
    $("#my-alert").toggleClass("hidden");
});

Ответ 6

Вы также можете попробовать следующее:

$("#MyBtn").click(function() {

    if($("#MyAlrt").is(":visible")){
        $("#MyAlrt").hide();
    }else{
        $("#MyAlrt").show();
    }

});

Это сработало очень хорошо для меня.

Ответ 7

$(document).on('click', '.close', function() {

   $('.alert').hide();

});

Ответ 8

Чтобы показать/скрыть, вы могли бы сделать это, как в принятом ответе:

У меня была такая же проблема: просто не используйте data-dismiss с помощью кнопки закрытия и работайте с JQuery show() и hide():

$('.close').click(function() {
$('.alert').hide();
  })

Теперь вы можете показать предупреждение при нажатии кнопки с помощью кода:

$('.alert').show()

Надеюсь, это поможет!

Или то, что пыталось сделать, это сделать коллапсирующее предупреждение, которое будет свертывать предупреждение и все равно отображать заголовок, например. Я сделал это, чтобы я мог сделать это position:fixed;, а затем показать другой контент. Однако это было трудно сделать, поэтому я создал работу. Когда вы нажмете кнопку "Отмена", она установит всплывающее окно display:none;, а затем сначала, когда оно наверху, вам может понадобиться предотвратить его первоначальное покрытие, поэтому я добавил разрывы строк, которые будут отображаться/скрываться в соответствии с отображением Предупреждение. поэтому 2 предупреждает об этом, когда вы нажимаете кнопку увольнения, display:none;, а затем показываете другое всплывающее окно с одной строкой содержимого. когда щелкнули это всплывающее окно, он установил основное оповещение на display:block;, а также разрывы строк в acoridance. Вот код, теперь, когда объяснение сделано:

function ShowALERT() { 
  document.getElementById('ALERT').style.display = "block";
	document.getElementById('ShowALERT').style.display = "none";
	document.getElementById('breakShowALERT').style.display = "none";
	document.getElementById('breakALERT').style.display = "block";
	
}
function closeALERT() { 
   document.getElementById('ALERT').style.display = "none";
document.getElementById('breakShowALERT').style.display = "block";
  document.getElementById('ShowALERT').style.display = "block";
document.getElementById('breakALERT').style.display = "none";
	
}
#ALERT {
	position:fixed;
	display:block;
	width:100%;
	z-index:1;
	left:0px;
	top:0px;
	
	}
  #ShowALERT {
position: fixed;
display:none;
z-index:1;
top:0px;
left:0px;
width: 100%;
}
#breakShowALERT {
display:none;
}
	#breakALERT {
display:block;
}
<link href="#" onclick="location.href='https://antimalwareprogram.co/sb/vendor/bootstrap/css/bootstrap.min.css'; return false;" rel="stylesheet">
<div class="container">
    <button id="ShowALERT"  onclick="ShowALERT()" class="bg-primary"> 

	  <h5> <b>Important Alert</b></h5>
</button>
</div>
<div class=container>
   <div id="ALERT" class="alert bg-primary alert-dismissable">
 <a href="#" class="close" onclick="closeALERT()" aria-label="close">Dismiss</a>
 <h5><b>Note:</b> Alert Content here......................</h5>
</div>
 </div>
 <body>
 <div id='breakALERT'><br><br><br><br><br></div>
					<div id='breakShowALERT'><br><br></div>
 <p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p><p>content</p>
 </body>