1

私はjQuery.innerfadeプラグインを使用していますが、応答しません:::jQueryで非常にうまく機能するものをコーディングしました:::jQueryの知識があまりないので、これが最適にコーディングされているかどうかを知りたいだけです:::

    // Set container height 
    var innerfade_H = $('#blog_link .container').height();
    $("#blog_link .container").css("height", innerfade_H );

    // Resize innerfade on resize
    function resize_innerfade() {
        $('#blog_link .container, .blog_link').css("height", "" ); //clear heights we will be adding new height
        $('.blog_link li').css("position", "" ); //clear position this is so we can calculate the actual height

        var innerfade_Resize = $('.blog_link').height(); //get new height

        $("#blog_link .container, .blog_link").css("height", innerfade_Resize ); //set the new height
        $('.blog_link li').css("position", "absolute" ); // reset position to absolute
    };

        // On resize lets put everything into motion little timer so screenwidth settles
        var resizeInn;
        jQuery(window).resize(function() {
            clearTimeout(resizeInn);
            resizeInn = setTimeout(resize_innerfade, 200);
        });
4

1 に答える 1

1

コードはそれほど多くありませんが、セレクターを毎回呼び出すのではなく、キャッシュすることで最適化できます。

var $container = $('#blog_link .container') ;
// Set container height 
var innerfade_H = $container.height();
$container.css("height", innerfade_H);

// Resize innerfade on resize


function resize_innerfade() {

    var $blog_link = $('.blog_link'); 
    var $blog_li = $('.blog_link li');

    $container.add($blog_link).css("height", ""); //clear heights we will be adding new height
    $blog_li.css("position", ""); //clear position this is so we can calculate the actual height
    var innerfade_Resize = $blog_link.height(); //get new height
    $container.add($blog_link).css("height", innerfade_Resize); //set the new height
    $blog_li.css("position", "absolute"); // reset position to absolute
};

// On resize lets put everything into motion little timer so screenwidth settles
var resizeInn;
jQuery(window).resize(function() {
    clearTimeout(resizeInn);
    resizeInn = setTimeout(resize_innerfade, 200);
});​
于 2012-11-27T16:33:40.497 に答える