1

スライダーをスムーズに挿入するページ(#home)で次のコードを実行するか、ページコンテナーが480px未満の場合は、ページをそのままにします。

サイズ変更イベントを100%スムーズに機能させることができません。

ウィンドウを縮小すると、スクリプト(js.slide.js)はトリガーされませんが、コンテンツは(slide.php)にロードされます。ウィンドウを少し余分に減らし続けると、すべて問題なく動作します。

これをスムーズに機能させる方法について誰かにアドバイスしてもらえますか?コードは次のとおりです

$(document).ready(function(){

if ($("#home").length > 0 ){ 

var homeSlideShow = {
    $promoArea: $('#promo-area'),
    $currentContent: $('#promo-area').contents(),
    $pageContainer: $('.page'),

    init: function(){
        var hSS = homeSlideShow;            
        if (hSS.$pageContainer.width() > 480 ){
            hSS.setTheSlideShow();
        } else{
            hSS.$promoArea.html(hSS.$currentContent);
        }

    },

    setTheSlideShow: function(){
        var hSS = homeSlideShow;                        
        $.getScript(myscript_wp_vars.temp_dir + '/js/slide.js', function(){
        hSS.$promoArea.load(myscript_wp_vars.temp_dir + '/libs/slide.php #c4u-slide',
        function(){
        var options = {
                    preloader: false,
                    nextButton: true,
                    prevButton: true,
                    animateStartingFrameIn: true,
                    transitionThreshold: 250                        
                };

                var sequence = $("#sequence").sequence(options).data("sequence"),
                    $slideShow = $("#c4u-slide");
                });

        });
    }   

};




//
//  Check page size
//
if (homeSlideShow.$pageContainer.width() > 480 ){
    homeSlideShow.setTheSlideShow();
}



//
//  On window resize
//
$(window).resize(function() {   
    homeSlideShow.init();   
});

}// END home.length

});//End $(document).ready(function()

支援やアドバイスを事前に感謝します。

乾杯

ノエル

4

1 に答える 1

2

window.resize イベントは、ブラウザの動作に応じて複数回トリガーされます。これを試すことをお勧めします:

var timeoutResize;
$(window).resize(function(){ 
        if(typeof timeoutResize != 'undefined') clearTimeout(timeoutResize);
        timeoutResize = setTimeout(function(){homeSlideShow.init();},50);

    });
于 2012-11-12T15:38:38.340 に答える