さて、私は機知に富んでいます。これが私のコード、または少なくとも、問題を引き起こしている/私の質問に関連していると思われるセクションです。
//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
アニメイトのイベントと関係があると思いますが、文字通り、今の洞察は非常に役に立ちます。=)
ありがとう