2

追跡できない問題があります。Revolution Sliderを使用していますが、jQuery エラーが発生し続けます。

 ▼ Uncaught TypeError: Cannot read property 'length' of undefined (repeated 86 times)

    p.extend.each                            jquery-1.8.2.min.js:2  
    a.fn.cssAnimationRemove     jquery.themepunch.plugins.min.js:18  
    (anonymous function)        jquery.themepunch.plugins.min.js:18  

問題はこのページにあり、スライドが変更されたときに画像が完全に消えないという奇妙な問題を引き起こしていると思います. そこに絵を残し、突然消えます。このような:

それは私に問題を与えただけで、私はそれを追跡することができないようです. 助言がありますか?

4

1 に答える 1

3

jquery.themepunch.plugins.min.jsChrome の Web インスペクタを使用して、問題を解決し、手順を追った結果、問題の原因を突き止めることができました。

未定義のオブジェクトに対するjqueryの各関数の呼び出しで使用されています。

所有していないコードを修正または変更することはお勧めしませんが、今のところ、cssAnimationRemove 関数に未定義のチェックを入れるだけでバグを修正できます。

元の関数は次のようになります。

a.fn.cssAnimationRemove = function () {
    var b = this;
    var c = b.data("cssAnimations");
    var d = b.data("identity");
    a.each(c, function(a, b) {
        c[a] = b.splice(d + 1, 1);
    });
    b.data("cssAnimations", c);
};

修正されたきれいなバージョンには、未定義のチェックを挿入するだけで済みます。次のようになります。

a.fn.cssAnimationRemove = function () {
    var b = this;
    var c = b.data("cssAnimations");
    var d = b.data("identity");
    if (typeof c !== "undefined") {
        a.each(c, function(a, b) {
            c[a] = b.splice(d + 1, 1);
        });
    }
    b.data("cssAnimations", c);
};

このバージョンのスライダーを含むテーマを購入した後、同じ問題に遭遇しました(Revolution Slider Webサイトのファイルはローカルにあるファイルと同じではないため、古いバージョンであると思われます).

于 2013-04-15T10:42:45.823 に答える