使用jQuery连续旋转数组

时间:2012-08-20 14:32:10

标签: jquery arrays

我需要不断地从数组中淡入和淡出数组,我现在正在这样做:

var rotateHint = function() {
var hints = ['fe','fi','fo','fum'];
var hint;
var p = (function() {
    if (!hint || !hint.length) hint = hints.slice();
         return hint.splice(Math.random() * hint.length | 0, 1);
}())
$('#hint').text(p) //THE ERROR IS HERE...
          .fadeIn()
          .delay(1000)
          .fadeOut(200,function(){ 
            rotateHint();
            })
};

然而,.text(p)似乎不起作用,但如果我用警告(p)查看p,则输出是合理的。

2 个答案:

答案 0 :(得分:2)

它似乎仅适用于jQuery 1.7 以前的版本会抛出错误

但是在数组上做text()有点奇怪吗?

答案 1 :(得分:-1)

查看此Fiddle。似乎已经有效了。

为了增加价值,我优化了您的JavaScript代码。

<强> HTML

<div id="hint"></div>​

<强>的JavaScript

(function() {
    var hints = ['fe', 'fi', 'fo', 'fum']
      , p;

    (function rotateHint() {
        p = hints[Math.round(Math.random() * hints.length)];

        $('#hint').text(p).fadeIn().delay(1000).fadeOut(200, rotateHint);
    }());

}());​

适用于Safari 6,FireFox 14和Chrome 21 Beta