0

配列からアイテムを連続的にフェードインおよびフェードアウトする必要があり、現在はそのようにしています:

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 を alert(p) で見ると、出力は健全です。

4

2 に答える 2

2

jQuery 1.7 からしか動作していないようです 以前のバージョンではエラーがスローされます

しかし、配列で text() を実行するのはちょっと変ですよね?

于 2012-08-20T14:48:03.953 に答える
-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 ベータ版で動作

于 2012-08-20T14:39:24.383 に答える