0

この関数を作成して、カード スタイル レイアウトの「さらに表示」機能を作成しました。最初はすべてクリック機能内にあるように書いていましたが、スコープが変更され、コマンドを独自の機能に移動する必要があり、今ではアニメーションが非常に途切れて無視できなくなりました。アニメーション化して競合を引き起こしている間に変数が更新されることに関係していると感じていますが、それをバイパスする方法や、高さを1つ取得した後に変数を定数として設定する方法がわかりません。

        //This function removes the reveal more trigger and slides "new-deals" down to auto height
function revealMore() {
    var containerHt = $("#new-deals").children().height; //set animation height for "reveal more" function

    //Reveal More function which handles animating container height to that of contained elements and removes the reveal more trigger element
    if (($("#new-deals").height) >= containerHt) {
        $("#new-deals").animate({height: containerHt}, 400, function() {
            $("#new-deals").css({height: 'auto'});
        }); 
        $("#new-deals").siblings('.reveal-more').remove();
    }       
}
$(".reveal-more a").click( function() { 
    revealMore(); 
    return false;   
});
4

1 に答える 1

1

いくつかあります:

  • 変数に保存$("#new-deals")します。
  • jquery ではなく CSS アニメーションを使用するanimate
  • ハックを使用しtranzlateZ(0)ます (まだ大量の VRAM を使用していない場合)。

啓発のためにhtml5rocksをチェックしてください。

于 2013-10-01T21:40:19.723 に答える