-1
在我的表格中,我想單擊一行。當該行被點擊時,它會上下擴展。爲了顯示展開的內容,我需要位置相對和所選行更高的z-index。setTimeout雙擊問題
當我再次單擊該行以摺疊它時,它會落在其他行的後面,因此我需要延遲刪除較高的Z-index和位置設置。
我已經玩過.delay,似乎只適用於動畫功能而不是CSS函數。我嘗試使用css函數隊列,但也失敗了。
最接近我成功的是下面的代碼,但是,由於某些原因,它需要我雙擊摺疊行而不是單擊。我做錯了什麼?謝謝
$(".expanding").toggle(
function(){
$(this).animate ({
'z-index': '9999',
}, 1)
$(this).css({ position: 'relative'});
},
function() {
$(this) = setTimeout((function() {
$(this).animate ({
'z-index': '0',
})
$(this).css({ position: 'static'});
}), 500);
});
編輯;另外,在任何人提到它之前,我都不能使用toggleClass作爲這一部分。
EDIT2:正如@charlietfl指出的那樣..「'this'在setTimeout中丟失了元素的上下文」..我重置了這個並修復了我的問題。
'$(this)= setTimeout(...);'你期待它做什麼? – 2014-10-19 13:22:26
你能設置一個http://jsfiddle.net讓我們自己嘗試嗎? – Niklas 2014-10-19 13:28:15
'toggle(Fn,Fn)'已棄用。你使用的是什麼版本的jQuery? setTimeout中的'this'丟失了元素 – charlietfl 2014-10-19 13:29:13