我已经尝试了一段时间,但我无法让它工作。我的问题:我有 3 个功能(1 个使 div 变小,1 个用于更新 div,1 个用于放大 div),这些功能由鼠标单击激活。但是它们同时激活,这意味着由于第二个(更新 div)而跳过了第一个(使 div 更小)。第二个函数调用一个 php 函数来重新加载 div 中的数据。以下是3个功能:
function reduceView(Parent){
$(Parent).find('#details').hide("slow", function(){
// Animation complete.
});
// get width and Extend
$(Parent).find("#" + Parent.ID + "").width("250px");
var width = $(Parent).find("#" + Parent.ID + "").css("width");
$(Parent).animate({
width: width
}, 500, function(){
// Animation complete.
});
}
function renewWindow(Parent){
$(":animated").promise().done(function(){
PHP.execute(Parent.id + "/home");
$(Parent).find("div[class='Item-list']").remove();
$(Parent).find("div[id='details']").remove();
$(Parent).find("div[id='confirmDialog']").remove();
$(Parent).append(PHP.response);
initJquery();
initEvents();
});
}
function enlargeView(Parent){
$(Parent).promise().done(function(){
$(Parent).find('#details').show("slow", function(){
// Animation complete.
});
// get width and Extend
$(Parent).find("#" + Parent.ID + "").width("683px");
var width = $(Parent).find("#" + Parent.ID + "").css("width");
$(Parent).animate({
width: width
}, 500, function(){
// Animation complete.
});
});
}
任何线索如何让这三个按顺序工作?'initJquery' 和 'initEvents' 确保 .click 等被重新初始化。提前致谢!!
附言。如果我错过了您可能需要的任何信息,请不要犹豫!
编辑:下面是调用函数的代码
$(".selecter").click(function() {
var Element = this;
var ID = Element.id;
var Parent = $(Element).closest(".drag-div")[0];
reduceView(Parent);
renewWindow(Parent);
$(":animated").promise().done(function(){
PHP.execute(Parent.id + "/details?" + Parent.id + "id="+ID);
$(Parent).find('#details').html(PHP.response);
enlargeView(Parent);
initJquery();
});
$(Element).addClass("selected");
});