检测内联样式左值更改,div没有id

时间:2015-07-13 04:39:21

标签: javascript jquery html css html5

是否有任何方法可以检测样式属性的左值更改。我有一个div具有内联样式左值,值不断变化,我想检测到这种变化。

$("#catalog > div:last-child").children()正在给我这个div

[<div style=​"display:​ block;​ position:​ relative;​ padding:​ 0px;​ margin:​ 0px;​ white-space:​ nowrap;​ height:​ 100%;​ left:​ -1641.14px;​">​…​</div>​]

左侧值不断变化,我想检测变化。

P.S。这个div没有任何divid,我只能使用$("#catalog > div:last-child").children()访问该div。我在公司工作,我们有一个HTML5工具,它创建一个简单的目录广告,所有div都是动态生成的。

2 个答案:

答案 0 :(得分:1)

您可以使用left获得$(element).css('left')值。如果你想知道左边的变化然后拿一个全局变量并比较先前和现在的值,如果那些不同,请调用你的函数。此函数将处于无限循环中。

示例:

 var preLeft=0, element = $("#catalog > div:last-child").children(), timer = 200; // You can change based on your requirement
 setInterval(function(){
     if($(element).css('left') != preLeft){
        //your function
        preLeft   = $(element).css('left');
     }
 },200);

答案 1 :(得分:0)

如果您当前选择了元素,则可以使用.css()方法。

    $("#catalog > div:last-child").children().css('left');

由于您希望不断检查该值,因此该解决方案取决于此功能运行的频率。