我一直在嘗試這一段時間,但我不能得到它的工作。 我的問題:我有3個功能(1使一個div更小,1更新div,1放大div),這是由鼠標點擊激活。但它們同時激活,意味着1st(更小的div)由於2nd(更新div)而被跳過。 第二個函數調用php函數重新加載div中的數據。 下面是3個功能:如何在javascript中依次激活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.
});
});
}
任何線索如何讓這3個爲了工作? 'initJquery'和'initEvents'看到.click之類的東西被重新初始化。 在此先感謝!
Ps。如果我錯過了您可能需要的任何信息,請不要猶豫,問問!
編輯:下面是調用函數
$(".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");
});
你可以顯示帖子激活功能的代碼? – Zeebats 2013-05-10 14:04:55
Javascript函數應按您調用它們的順序執行。函數不會同時執行。 – 2013-05-10 14:12:02
你應該在它之前的函數的完成回調中調用下一個連續的函數。 – apsillers 2013-05-10 14:20:35