以动态方式使用.addClass

时间:2018-01-26 17:12:10

标签: javascript jquery

编辑:

我正在使用Jquery一次显示1条消息,每10秒显示一条消息(可能只有一个,两个,或3个或更多) - 这将取决于是否满足某些条件每个print(df['gender'].value_counts()['male']) print(df['gender'].value_counts()['female']) 项目(我将有多个项目):

$i

JQUERY:

    <div class="mszDivOuter">
               <?php if ($condition1[$i]==true) { ?>
                  <div class="mszDiv activeMsz">message 1</div>
               <?php } else { } ?> 
               <?php if ($condition2[$i]==true) { ?>
                  <div class="mszDiv deactiveMsz">message 2</div>
               <?php } else { } ?> 
               <?php if ($condition3[$i]==true) { ?>
                  <div class="mszDiv deactiveMsz">message 3</div>
               <?php } else { } ?> 
    </div>

CSS:

jQuery(document).ready(function(){

    setInterval(function(){ 
        jQuery(".mszDivOuter").each(function(){
            var cnt = crActiveMsz = nextMszNum = 0; 
            cnt = $(this).children('.mszDiv').length;
            if(cnt > 1){
                crActiveMsz = $(this).children('.activeMsz').index();
                nextMszNum = crActiveMsz + 2;

                if(nextMszNum > cnt){ nextMszNum = 1;}

                $(this).children('.mszDiv').removeClass("activeMsz");
                $(this).children('.mszDiv').addClass("deactiveMsz");

                $(this).children('.mszDiv:nth-child('+nextMszNum+')').removeClass("deactiveMsz");
                $(this).children('.mszDiv:nth-child('+nextMszNum+')').addClass("activeMsz");
            }
        });
    }, 10000);
});

问题:

当第一条消息没有.mszDiv{ position:absolute; transform: translateY(-50%); -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -0-transform: translateY(-50%); top:50%; -ms-transform: translateY(-50%); top:50%;} .activeMsz{ opacity:1; -webkit-animation: slide-down 1s linear ; -moz-animation: slide-down 1s linear ; -o-animation: slide-down 1s linear ; -ms-animation: slide-down 1s linear ; animation: slide-down 1s linear ; } .deactiveMsz{ opacity:0;} 类时,它将在前10秒内保持空白,然后才会开始在其他消息之间切换。

为了避免等待时间,我尝试使用不同的JS代码:

activMsz

但是使用此代码,在某些情况下,某些消息根本不会显示出来。

如何在上述每个HTML场景中修改代码以显示所有可能的消息,而无需等待?

编辑2:

所需行为 来自HTML块的第一条消息(消息1,如果包含它。消息2,如果1被PHP排除,或消息3,如果1 + 2被PHP排除)。应立即显示在屏幕上,没有延迟。然后,如果存在另一条消息,它们应在10秒后切换到下一条消息。如果没有

0 个答案:

没有答案