好的,我的智慧结束了。这是我的代码,或者至少是我认为导致问题/与我的问题相关的部分。
//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
事件有关,但从字面上看,现在任何见解都会非常有用。 =)
由于
答案 0 :(得分:-1)
如果feat_expanded_div是一个jquery对象
(被宣布为如此.. var feat_expanded_div = $(“blahblah element”);)
然后你不应该将它包装在另一个$()中,换句话说就是这样做
feat_expanded_div.animate(d,speed);