2011-05-29 73 views
4

我想要做這樣的事情:如何在div使用jQuery改變位置時進行監聽?

$('#myDiv').positionChanged(function() { 
    alert('Yay!'); 
}); 

任何想法?這是否已經內置到jQuery中?

+2

「div」如何在fi中改變位置第一個地方?有沒有可以使用的回調函數? – 2011-05-29 21:12:15

+0

'position'是什麼意思?我們是在談論'z-index',還是像'left'?此外,可能的愚蠢:http://stackoverflow.com/questions/1397251/event-detect-when-css-property-changed-using-jquery – Sampson 2011-05-29 21:13:19

+0

只是添加回調功能,正在改變div位置 – Ibu 2011-05-29 21:19:03

回答

3

我最終使用這個的:

function whereIChangePosition() { 
    // Code to change position 
    // ... 

    $('#myDiv').trigger('positionChanged'); 
} 

我的聽衆:

$('#myDiv').bind('positionChanged', function() { 
    // Do stuff 
}); 
1

不幸的是,在jQuery中沒有這種類型。但這對於下一個版本來說可能是個好主意。

到目前爲止,你可以做什麼是添加回電自己:

可以說你有改變div的位置的功能。

function changePosition(elId,position) { 
    $(elId).css('top',position); 
    // or more complexe code 
} 

你可以給它添加一個回調函數。

function changePosition(elId,position,callback) { 
    $(elId).css('top',position); 

    callback(); 
} 

另一種方法是使用DOMAttrModified事件,但它具有非常低的瀏覽器支持,因爲這個日期