【发布时间】:2011-12-14 02:32:07
【问题描述】:
我正在尝试在 jQuery 中创建一种侦听器。我想要做的是一直检查,如果 divs margin-left == 200px 然后触发一个事件。 但我不知道该怎么做。 也许更好的是,div 调用事件函数,当它是 margin-left == 200px 时,但我什至不确定,如果这可能的话。
任何帮助将不胜感激。
【问题讨论】:
标签: javascript jquery dom
我正在尝试在 jQuery 中创建一种侦听器。我想要做的是一直检查,如果 divs margin-left == 200px 然后触发一个事件。 但我不知道该怎么做。 也许更好的是,div 调用事件函数,当它是 margin-left == 200px 时,但我什至不确定,如果这可能的话。
任何帮助将不胜感激。
【问题讨论】:
标签: javascript jquery dom
您可以通过执行 1 秒的 setinterval() 来检查“所有时间”,然后在时钟事件的处理程序中检查 div 的左边距,并可能在/如果它达到 200 时检查 alert() .
编辑:作为一个信息点:每隔一段时间(即每秒)检查一次的过程称为“轮询”。
【讨论】:
以下函数将每 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 的事件。以下将仅在第一次检测到具有 200px margin-left 的元素时触发事件:
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。
.css("marginLeft")?我认为我以正确的方式做到了这一点。请参阅 jquery api.jquery.com/css 处的示例
marginLeft 代替吗?有什么意义?