我希望每个人都做得很好。
我在幻灯片切换回调函数中设置了一个变量。我需要根据这个变量的值执行一些操作。所以,我需要等待在父方法中设置此变量的值。我认为以下代码片段将更好地解释我想要做的事情。
function() {
$(this).next().slideToggle('normal',function(){
if ($(this).is(':hidden'))
{
state = "open";
}
else
{
state = "close";
}
isAnimationCompleted=true;
return true;
});
while(isAnimationCompleted==false)
{
//do nothing
}
isAnimationCompleted=false;
var selectedElement =$.trim(this.textContent);
if(state=="open" )
{
showHelp(selectedElement,state);
}
}
我会真诚地感谢任何帮助。感谢。
答案 0 :(得分:1)
对要跟踪其状态的对象使用$ .data()方法。这样,您希望存储的属性 - 值组合与特定对象相关联。
文档中有一个很好的解释:http://api.jquery.com/jQuery.data/。
就你的代码而言,试试这个:
function() {
// When the page loads, set a default value to the property,
$("#div_you_toggle").data("open",false);
$("#div_you_toggle").slideToggle('normal',function(){
if ($(this).is(':hidden'))
{
$(this).data("open",false);
}
else
{
$(this).data("open",true);
}
isAnimationCompleted=true;
return true;
});
while(isAnimationCompleted==false)
{
//do nothing
}
isAnimationCompleted=false;
var selectedElement =$.trim(this.textContent);
if( $("#div_you_toggle").data("open") == true )
{
showHelp(selectedElement,state);
}
}
肯定会进行一些优化,但这应该引入基本概念。