부트 스트랩 경고 자동 닫기


153

위시리스트에 추가 버튼을 클릭하면 2 초 후에 경고가 사라집니다. 이것이 내가 시도한 방법이지만 경고가 표시되는 즉시 경고가 사라집니다. 확실하지 않습니다, 버그가 어디에 있는지 .. 누구든지 나를 도울 수 있습니까?

JS 스크립트

$(document).ready (function(){
   $("#success-alert").hide();
   $("#myWish").click(function showAlert() {
      $("#success-alert").alert();
      window.setTimeout(function () { 
         $("#success-alert").alert('close'); 
      }, 2000);             
   });      
});

HTML 코드 :

<div class="product-options">
   <a id="myWish" href="" class="btn btn-mini">Add to Wishlist </a>
   <a href="#" class="btn btn-mini"> Purchase </a>
</div>

경고 상자 :

<div class="alert alert-success" id="success-alert">
   <button type="button" class="close" data-dismiss="alert">x</button>
   <strong>Success!</strong>
   Product have added to your wishlist.
</div>


이러한 흐름을 시도했지만 구현 방법을 잘 모르겠습니다. : /
srikanth_naalla

답변:


276

부드럽게 슬라이드 업하려면 :

$("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
    $("#success-alert").slideUp(500);
});

$(document).ready(function() {
  $("#success-alert").hide();
  $("#myWish").click(function showAlert() {
    $("#success-alert").fadeTo(2000, 500).slideUp(500, function() {
      $("#success-alert").slideUp(500);
    });
  });
});
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

<div class="product-options">
  <a id="myWish" href="javascript:;" class="btn btn-mini">Add to Wishlist </a>
  <a href="" class="btn btn-mini"> Purchase </a>
</div>
<div class="alert alert-success" id="success-alert">
  <button type="button" class="close" data-dismiss="alert">x</button>
  <strong>Success! </strong> Product have added to your wishlist.
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>


3
버튼을 두 번 클릭하면 작동하지 않습니다. 때문에 ( '가까운') 경고의 당신은 @ICanHasKittenz 일하고있어) slideUp를 (사용하는 경우
파티 흐 알프

아름답게 작동하지만이 줄은 무엇입니까? $ ( "# success-alert"). alert (); 용법? 나는 그것을 제거하고 작동합니다.
Roberto Sepúlveda Bravo

1
@ RobertoSepúlvedaBravo 경고 상자에 가까운 기능을 제공하지만 data-dimiss="alert" 속성 이 사용되므로 여기에 필요하지 않습니다 . 스크립트를 업데이트합니다.
AyB

나를 위해 일하지 않았다. 그러나 아래의 다른 예제는 정상적으로 작동했습니다.
Terje Nesthus

@TerjeNesthus 정확히 작동하지 않는 것을 설명 할 수 있습니까? 경고가 사라지지 않습니까? 아니면 두 번째로 작동하지 않습니까? 부트 스트랩의 버전을 알 수 있습니까? 이것은 Bootstrap 3 용으로 만들어졌으며 이후 버전에서는 테스트하지 않았습니다.
AyB

56

사용하여 fadeTo()코드의 "나는 깡통이 Kittenz을 가지고"2 초 500의 불투명도에 퇴색되는 것은 나에게 읽을 수 없습니다. 지연 ()과 같은 다른 옵션을 사용하는 것이 더 좋다고 생각합니다.

$(".alert").delay(4000).slideUp(200, function() {
    $(this).alert('close');
});

42

다른 모든 대답을 사용하는 이유 slideUp는 저 밖에 있습니다. fadeand in클래스를 사용하여 닫을 때 (또는 시간 초과 후) 경고가 사라지도록하려면 "슬라이드"하고 충돌하지 않기를 바랍니다.

게다가 slideUp방법은 작동하지 않았습니다. 경고 자체는 전혀 표시되지 않았습니다. 나를 위해 완벽하게 일한 것은 다음과 같습니다.

$(document).ready(function() {
    // show the alert
    setTimeout(function() {
        $(".alert").alert('close');
    }, 2000);
});

1
짧고 달콤한
Nawaraj

21

나는 이것이 더 나은 해결책이라는 것을 알았다.

$(".alert-dismissible").fadeTo(2000, 500).slideUp(500, function(){
    $(".alert-dismissible").alert('close');
});

11

이를위한 또 하나의 솔루션 5 초 후 부트 스트랩 경고 메시지를 자동으로 닫거나 사라지게합니다.

메시지를 표시하는 데 사용되는 HTML 코드입니다.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<div class="alert alert-danger">
This is an example message...
</div>


<script type="text/javascript">

$(document).ready(function () {
 
window.setTimeout(function() {
    $(".alert").fadeTo(1000, 0).slideUp(1000, function(){
        $(this).remove(); 
    });
}, 5000);
 
});
</script>


이것은 tru JS 메시지를 표시하는 것으로 제한되지 않는 매우 좋은 대답입니다. 페이지가로드 될 때 메시지가 이미 표시 될 수 있습니다.
Guillermo Oramas R.

1
$("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
    $("#success-alert").alert('close');
});

fadeTo 매개 변수가 fadeTo (속도, 불투명도) 인 경우


1

필요할 때 자동 및 수동 트리거

$(function () {
    TriggerAlertClose();
});

function TriggerAlertClose() {
    window.setTimeout(function () {
        $(".alert").fadeTo(1000, 0).slideUp(1000, function () {
            $(this).remove();
        });
    }, 5000);
}

0

이것은 jQuery를 사용하여 애니메이션을 표시하거나 표시하는 좋은 방법입니다.

  $(document).ready(function() {
      // show the alert
      $(".alert").first().hide().slideDown(500).delay(4000).slideUp(500, function () {
         $(this).remove(); 
      });
  });

0

C # 컨트롤러 :

var result = await _roleManager.CreateAsync(identityRole);
   if (result.Succeeded == true)
       TempData["roleCreateAlert"] = "Added record successfully";

면도기 페이지 :

@if (TempData["roleCreateAlert"] != null)
{
    <div class="alert alert-success">
        <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
        <p>@TempData["roleCreateAlert"]</p>
    </div>
}

모든 경고 자동 닫기 :

<script type="text/javascript">
    $(".alert").delay(5000).slideUp(200, function () {
        $(this).alert('close');
    });
</script>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.