好吧,我已经束手无策了。这是我的代码,或者至少是我认为导致问题/与我的问题相关的部分。
//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
与带有动画事件的事件有关,但从字面上看,现在的任何见解都会非常有帮助。=)
谢谢