元素更改其类时的Fire事件

时间:2014-05-04 15:57:15

标签: jquery css dynamic element

我已经在我的网页上实施了this幻灯片放映。 如果您继续右键单击,然后检查元素,您可以看到此幻灯片显示的元素。

enter image description here

我希望每次在此幻灯片中加载新图像时都会在jQuery中添加事件。我注意到,每次更改图像时,ul元素的id=supersized元素类正在将类从质量更改为 speed 一个循环。所以我想每次这个元素的类都会改变时我就可以触发事件。

我已尝试使用图片加载事件,但我没有得到所需的结果,因为看起来所有图片都是在开始时加载的,而不是在幻灯片显示时加载的。

如果有比班级变更事件更好的解决方案,那也是可以接受的。因此,当幻灯片中的图像发生变化时,我需要发生一些事情。

如果可能,我不想在解决方案中使用setTimeout()函数,因为它会检查循环中的更改,这会降低页面的速度。

2 个答案:

答案 0 :(得分:1)

  

根据    <强> Answer by @epascarello
  的Javascript

function addClassNameListener(elemId, callback) {
    var elem = document.getElementById(elemId);
    var lastClassName = elem.className;
    window.setInterval( function() {   
       var className = elem.className;
        if (className !== lastClassName) {
            callback();   
            lastClassName = className;
        }
    },10);
}

根据一些只对评论感兴趣而非帮助的人的特殊要求
Working Fiddle

使用 this plugin it is possible

$('#me').observe({
        attributes: true,
        attributeFilter: ['class']
    }, function (record) {
        console.log(record);
        fireMe();
});

希望这就是你要找的...... !!

答案 1 :(得分:0)

    (function($){
        event_to_be_fired = {
            afterAnimation:function(){
                     console.log("slide changed");
                    //code for event to be fired on slide change
            }
        };
    })(jQuery);

参考:How do i use this api of supersized jquery plugin