0

我想依次显示和隐藏两个页面元素。

这是代码:

$(document).ready(function() {  
    var continuous = function () {
    setTimeout(function() { $("#Mass_alert").css('display','block'); $("#Devotion_alert").css('display','none'); },1500);
    setTimeout(function() { $("#Mass_alert").css('display','none'); $("#Devotion_alert").css('display','block'); },1500);
    };
    setInterval(continuous,500); 
});

这是 HTML:

  <div id="Mass_alert" class="alert" style="position: relative; top: 3px; margin: 0 auto; text-align: center; width:100%; height: 20px;">Mass alert</div>
  <div id="Devotion_alert" class="alert" style="position: relative; top: 3px; margin: 0 auto; text-align: center; width:100%; height: 20px;">devotion alert</div>

我得到正确的效果一次。我应该在上面的代码中进行哪些更改才能产生持续的效果。我不想使用fadeToggle,因为我实际上需要display:none设置。如果我不这样做,那么就会为隐藏元素留下空间,这会干扰其他元素的放置。

4

2 回答 2

2

尝试:

setInterval(function () {
  $('#Mass_alert, #Devotion_alert').toggle();
}, 1500);

与:

<div id="Mass_alert" class="alert" style="position: relative; top: 3px; margin: 0 auto; text-align: center; width:100%; height: 20px;">Mass alert</div>
<div id="Devotion_alert" class="alert" style="position: relative; top: 3px; margin: 0 auto; text-align: center; width:100%; height: 20px; display: none;">devotion alert</div>​

演示:http: //jsfiddle.net/qxMdA/1/

于 2012-05-21T16:05:06.880 回答
0

试着来回切换。

var a = false;
$(document).ready(toggle);
function toggle() {
    if (a) {
        $("#Mass_alert").css('display','block'); $("#Devotion_alert").css('display','none'); 
    }
    else
    {
        $("#Mass_alert").css('display','none'); $("#Devotion_alert").css('display','block'); 
    }

    a = !a;

    setTimeout(toggle, 1500);
}
于 2012-05-21T16:00:36.120 回答