0

我需要在 div1 具有“.selected”类 X 秒后使 div2 可见,并在 div1 失去“.selected”类时恢复为隐藏。解决这个问题的最佳方法是什么?

4

2 回答 2

1

添加.selected类后,您可以设置超时以显示 div 2:

setTimeout(function(){
    //-- code to show div 2 here --//
}, 2000);

2000 是执行该功能之前等待的时间(以毫秒为单位)。

然后在丢失时.selected可以再次隐藏 div2 ( hide());

于 2013-01-14T15:54:09.497 回答
1

您可以使用以下代码将类名事件侦听器添加到对象以检测更改:

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);
}

如果您愿意,可以调整它以查找某个类名:)

这是它的实际应用:

http://jsfiddle.net/gJgmV/5/

编辑:这可能是一个中等强度的功能,因为它基本上是检查类是否每 10 毫秒发生变化。

如果在您的情况下可行,那么最好将一个函数添加到任何设置类的 onclick 事件中。这是一个演示:http: //jsfiddle.net/gJgmV/6/

于 2013-01-14T16:17:23.877 回答