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
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 回答
0

我建议您放入overflow:hiddenslidePane 的 css;这样尺寸将自动调整大小。你不应该为此需要 jquery。

于 2012-05-10T01:11:28.907 回答