我想在jQuery中創建一個監聽器類的東西。我想要做的就是檢查所有的時間,如果divs margin-left == 200px,然後發起一個事件。 但我不知道該怎麼做。 也許這更好,div調用事件函數,當它的margin-left == 200px,但我甚至不確定,如果這是可能的。火災事件,如果margin-left == 200px;
任何幫助將不勝感激。
我想在jQuery中創建一個監聽器類的東西。我想要做的就是檢查所有的時間,如果divs margin-left == 200px,然後發起一個事件。 但我不知道該怎麼做。 也許這更好,div調用事件函數,當它的margin-left == 200px,但我甚至不確定,如果這是可能的。火災事件,如果margin-left == 200px;
任何幫助將不勝感激。
以下函數將每隔1秒檢查一次具有類elementClass
的元素是否將margin-left
設置爲200px
。如果是這樣,將觸發alert
(作爲示例)。
$(document).ready(function(){
setInterval(function(){
if ($(".elementClass").css("marginLeft")=='200px'){
//do something here
alert("margin is 200px");
}
}, 1000);
});
然而,這個代碼就觸發事件每秒的margin-left
爲200px
。下面將只觸發事件的第一時間因素已與200像素保證金左檢測:中
var eventtrig = 0;
$(document).ready(function(){
setInterval(function(){
if ($(".elementClass").css("marginLeft")=='200px' && eventtrig=0) {
//do something here
alert("margin is 200px");
eventtrig=1;
}
else {
eventtrig=0;
}
}, 1000);
});
這會做到最好的解決方案。但我不確定是否應該換成'margin-left'。 – OptimusCrime
@OptimusCrime - 對於'.css(「marginLeft」)'?我想我已經以正確的方式做到了這一點。看到在jquery的例子http://api.jquery.com/css/ – Curt
他們都會工作。只是認爲使用正確的CSS屬性更容易,所以jQuery不必首先解析它。 – OptimusCrime
您可以通過執行setinterval()(比如說1秒)來檢查「所有的時間」,然後在時鐘事件的處理程序中檢查div的左邊距,或者alert()何時/ 200.
編輯:作爲一個信息點:每隔一段時間檢查一次 - 即每秒一次 - 被稱爲「輪詢」的過程。
可能的複製http://stackoverflow.com/questions/1397251/event-detect-when-css -property-changed-using-jquery – etuardu