好吧,我在我束手无策。这里是我的代码,或者至少是我认为导致问题/与我的问题相关的部分。JQuery的动画元素为不运行动态改变
//clicking back contacts scenario
$("#feat-back-arrow").live("click", function() {
contractFeature();
});
//undo expand function for feature
//
//
function contractFeature() {
$(feat_expanded_div).removeClass("expanded-feat");
//actual slow animation
var d = {};
var speed = 400;
d.width = feat_orig_width;
d.height = feat_orig_height;
d.left = feat_offset_left;
d.top = feat_offset_top;
d.marginRight = "0px"
$(feat_expanded_div).animate(d, speed);
showFeatures();
returnFeatureHeader(feat_expanded_div);
ExpandFeature = false;
}
我动态生成一个名为#feat-back-arrow
,单击时按钮,呼叫contractFeature()
,并在特定的,运行的动画事件。此事件不适用于feat_expanded_div
(我将其定义为全局变量等,并将其用于contractFeature()
中的其他函数中)。完全没有任何反应。现在
,如果我改变了我的代码到这个部分:
var d = {};
var speed = 400;
d.width = feat_orig_width;
d.height = feat_orig_height;
d.left = feat_offset_left;
d.top = feat_offset_top;
d.marginRight = "0px"
$("div").animate(d, speed);
改变它,所以它只是所有div运行时,它工作正常。我知道问题不在于定义feat_expanded_div
,因为正如我所说的,函数returnFeatureHeader()
将它作为参数进行处理就好了。
我认为这与.live
事件有一个动画事件有关,但从字面上看,现在的任何洞察都会非常有帮助。 =)
感谢
你试过包装'feat_expanded_div'引号只是为了看看会发生什么? – 2012-07-06 18:49:53
feat_expanded_div是一个变量,但我可以尝试,它被定义为 变种feat_expanded_div = $(“blahblah元件”); – 2012-07-06 18:52:08
将其放置在“”产生同样的效果不存在=( – 2012-07-06 18:53:22