0

私はこれを理解するのに苦労しています、誰か助けてもらえますか?

可能かどうかはわかりませんが、他の関数のスコープを維持する必要があるため、変数を更新/リセットする必要があるため、グローバルに使用できます。

私はこの変数を私のjqueryの良さの一番上に持っています...

var heightOne = $panelOne.height();

私のajax重力フォームが送信されたときにそれを更新しようとしています。

フォームが完全にリロードされたときに起動するこのバインドされた関数があるので、ここに変数の更新/リセットスクリプトを配置できると思います...

$(document).bind('gform_post_render', function(){

    // variable refresh code in here...     

    $slidePane.css({ 'height' : heightOne + 'px' }); // then this will follow and use new height taken from $panelOne updated variable  

});


しかし、私はどこから始めるべきかを見つけるのに苦労しています。どんな助けでも素晴らしいでしょうありがとう。



アップデート

これは、私が達成しようとしていることを示すための完全なスクリプトです。

$(window).load(function(){

    var $slidePane  = $("#sliding-pane"),

         $stageOne  = $("#nav-stage-1"),
         $stageTwo  = $("#nav-stage-2"),
         $stageThree = $("#nav-stage-3"),

         heightOne  = $("#panel-stage-1").height(),
         heightTwo  = $("#panel-stage-2").height(),
         heightThree = $("#panel-stage-3").height();

    $slidePane.css({ 'height' : heightOne + 'px' });

    $.fn.slideThree = function() {

        $slidePane.stop().animate({
                left : "0px",
                height : heightOne + 'px'
        }, 300);

        FB.Canvas.scrollTo(0, 510);

    };

    $.fn.slideThree = function() {

        $slidePane.stop().animate({
                left : "-680px",
                height : heightTwo + 'px'
        }, 300);

        FB.Canvas.scrollTo(0, 510);

    };

    $.fn.slideThree = function() {

        $slidePane.stop().animate({
                left : "-1360px",
                height : heightThree + 'px'
        }, 300);

        FB.Canvas.scrollTo(0, 510);

    };

    $stageOne.on('click', function () {

        $(this).slideOne();

    });

    $stageTwo.on('click', function () {

        $(this).slideTwo();

    });

    $stageThree.on('click', function () {

        $(this).slideThree();

    });

    $(document).bind('gform_post_render', function(){

        $slidePane.css({ 'height' : heightThree + 'px' });

    });

});  
4

2 に答える 2

0

overflow:hiddenslidePane の css を挿入することをお勧めします。そうすれば、寸法が自動的にサイズ変更されます。これにはjqueryは必要ありません。

于 2012-05-10T01:11:28.907 に答える
0
var $slidePane  = $("#sliding-pane"),
    /* ...other vars... */
    heightThree = $("#panel-stage-3").height();

    // Cache the height
    $('#panel-stage-3').data('origHeight', heightThree);


$(document).bind('gform_post_render', function(){
    $slidePane.css({ 'height' : $('#panel-stage-3').data('origHeight') + 'px' });
});
于 2012-05-10T01:15:21.300 に答える