使用jquery关闭同一类的每个div?

时间:2013-12-18 23:21:45

标签: jquery css

我有一个jquery,它在同一类的几个div中消失,有点像新闻提要。例如,使用此代码延迟<div class="dashboard_notification">一次又一次地消失:

<script>
$('.dashboard_notification').hide(); // this or use css to hide the div
$(document).ready(function(){
    var time = 1000;
    $('.dashboard_notification').each(function() {
        $(this).delay(time).fadeIn(1000);
        time += 1000;
    });
});
</script>

现在我要做的是隔离其中的每一个(pref而不必将div类更改为类似"dashboard_notification1/2/3/4"),以便用户可以单击将每个新闻源分别关闭到其他人使用我已分配"dashboard_notification_close"

的特殊关闭按钮div

有人可以告诉我我是如何做到这一点的,谢谢,这是我现在用来关闭div的代码,但这只是关闭了所有新闻源,因为它们共享相同的div class =“dashboard_notification”

<script>
$('.dashboard_notification_close').click(function(e) { //button click class name is myDiv 
  e.stopPropagation(); 
 }) 

 $(function(){ 
  $('.dashboard_notification_close').click(function(){   
  $('.dashboard_notification').delay(100).fadeOut(500);

 }); 

}); 
</script>

2 个答案:

答案 0 :(得分:2)

假设标记看起来像这样:

<div class="dashboard_notification">
...
    <div class="dashboard_notification_close"></div>
...
</div>

您可以使用this引用点击的按钮,使用closest来查看其外部div

$('.dashboard_notification_close').click(function(){   
    $(this).closest('.dashboard_notification').delay(100).fadeOut(500);
}); 

答案 1 :(得分:0)

在点击功能中,将$('.dashboard_notification')切换为$(this),它只会触发点击的元素,而不是所有与选择器查询匹配的元素。