ajax表单发送后刷新/重置jquery变量

时间:2012-05-10 00:23:38

标签: javascript jquery

我无法解决这个问题,有人可以帮忙吗?

我不确定它是否可能,我需要刷新/重置变量,因为我需要保留其他功能的范围,因此可以全局使用。

我的这个变量靠近我的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' });

    });

});  

2 个答案:

答案 0 :(得分:0)

我建议你将overflow:hidden放在slidePane的css中;这样,尺寸将自动调整大小。你不应该为此需要jquery。

答案 1 :(得分: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' });
});