2

是否可以用 javascript/jQuery 交换一段文本?我想要一个大约 5 秒的延迟计时器,然后文本应该换成其他东西,比如图像幻灯片。带有淡入淡出或效果会很棒,但无论如何都可以。你能指出我正确的方向或帮助我吗?

4

5 回答 5

1

这是在没有 setTimeout 或 setInterval 的情况下循环的方法

在这里演示

<div id="textMessage"></div>
<div class="textContent" style="display:none">Lorem ipsum dolor sit amet</div>
<div class="textContent" style="display:none">In sit amet diam et arcu aliquam tincidunt. </div>

function slide() {
  if (cnt>=texts.length) cnt=0;
  $('#textMessage').html(texts[cnt++]);
  $('#textMessage')
    .fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow',
     function() {
       return slide()
     }
  );      
}      
$(document).ready(function() {
  // save the texts in an array for re-use
  $(".textContent").each(function() {
    texts[cnt++]=$(this).text();
  });
  slide()  
});
于 2011-07-05T13:24:32.857 回答
1

干得好

您也可以使用 setTimeout 调用该函数

编辑

这是经过调整的演示,没有点击和间隔

编辑 2

在这里复制粘贴代码以防 jsfiddle 出现故障。

<div class="texts">
  <p class="text text_1">text 1</p>
  <p class="text text_2">text 2</p>  
</div>

<script>
  setInterval(function(){
    var toggle = $(".text").hasClass("toggled");
    $(".text_1").animate({opacity: toggle ? 1 : 0});
    $(".text_2").animate({opacity: toggle ? 0 : 1});
    $(".text").toggleClass("toggled");
  }, 1000);
</script>

<style type="text/css">
.texts {
    position: relative;
}

.text {
    position: absolute;
    top: 0;
    left: 0;
}

.text_1{
    opacity: 1
}

.text_2{
   opacity: 0;
}
</style>
于 2011-07-05T12:33:03.010 回答
1
setTimeout(function() {
  $('#target').html('New Text');
}, 5000); // <- 5 seconds

如果你想更进一步

setInterval(function() {
  // do some change that will happen every 5 seconds
}, 5000); // <- 5 seconds
于 2011-07-05T12:26:14.720 回答
0
function changeText(){
     document.getElementById('my_div_id').innerHTML = 'text_to_display';
}

您可以实现 changetext 以获得一个字符串数组,您可以在下一个函数中对其进行迭代:

function timingex( ){
    setTimeout("changeText()",5000);
}
于 2011-07-05T12:28:11.990 回答
0

将您想要淡入的内容(我们可以将其命名#box)放在<p>. 用 隐藏它display:none;。然后使用例如:

function() {
    $("#box").delay(5000).fadeIn("slow");
}
于 2011-07-05T12:30:39.403 回答