2012-05-10 2 views
0

이 문제를 해결하는 데 어려움을 겪고 있습니다. 아무도 도와 줄 수 있습니까?ajax 양식 뒤에 새로 고침/재설정 jquery 변수를 보내십시오.

만약 가능하다면 다른 변수의 범위를 유지해야하므로 변수를 새로 고침/재설정해야하므로 전체적으로 사용할 수 있습니다.

나는 내 JQuery와 선 (善)의 상단이 변수 ...

var heightOne = $panelOne.height(); 

을하고 난 내 아약스 중력 양식을 보낼 때 새로 고침하기 위해 노력하고있어.

I 양식이 다시로드 fulled, 그래서 내가/내 변수 새로 고침을 넣어 여기에 내부에 스크립트를 재설정 할 수 있습니다 생각했을 때 발생한다이 바인더 제본 기능 ...

$(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 

}); 


하지만이 어디서부터 시작해야 할지를 고심하고 있습니다. 어떤 도움이라도 끝내 주셔서 감사합니다.



UPDATE

이 전체 내 스크립트 내가 달성 노력하고있어 당신을 보여주는 것입니다.

$(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' }); 

    }); 

}); 

답변

0

overflow:hidden을 slidePane의 CSS에 넣는 것이 좋습니다. 그런 식으로 치수가 자동으로 조정됩니다. 이 경우 jquery가 필요하지 않습니다.

+0

그러나이 div는 회전식 슬라이드에서 슬라이드로 실행되며 정의 된 높이가 필요한 이상적인 솔루션입니다. 감사합니다 – Joshc

+0

정말 jquery, 다음 $ slidePane.css ('높이', heightOne); 콜백에서 필요한 높이로 변수를 설정하면 작동합니다. 또한 $ slidePane이 범위 내에 있는지 확인하십시오. 당신이 많이 보여주지 않아서 무슨 일이 일어나고 있는지보기가 어렵습니다. – frenchie

+0

오버플로가 어떻게 작동하는지 이해해야한다고 생각합니다. HTML/CSS가 좋은 경우에는 높이를 지정하지 않아도됩니다. – frenchie

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' }); 
}); 
+0

흠, 어쨌든 워드 프레스 중력 양식에 사용하고있는 내 바인드 기능과 함께 이것을 사용하고 있습니까? 감사합니다 – Joshc

+0

안녕하세요, 전체 스크립트를 추가 했으므로 진행 상황을 볼 수 있습니다. 바인드 된 gform_post_render 함수가 실행되면 변수 'heightThree'의 값은 원본 문서로드와 여전히 같은 원본입니다. 어떻게 든 값을 업데이트하려면이 변수가 필요합니다. – Joshc

+0

새로 제공된 코드를 기반으로 간단한 데이터 캐시 및 참조를 권합니다. 내 편집을 참조하십시오. – AlienWebguy

관련 문제