2

我正在尝试
在鼠标移出此 div 时更改 div 的颜色,然后在此 div 上不返回 5 秒,然后更改 div 背景颜色
这里有一些代码可以使最后一次鼠标离开 div 时间

<html>
<head>
  <meta charset="utf-8" />
  <title>jQuery UI Effects - Animate demo</title>
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <style>
    #effect { width: 240px; padding: 0.4em; position: relative; background: yellow; }
  </style>
  <script>
  var sec = 0;
        function pad ( val ) { return val > 9 ? val : "0" + val; }
        setInterval( function(){
            $("#effect").attr("name",pad(++sec%60));
        }, 1000);
        $(document).ready(function(){
        $("#effect").mouseout(function (){
            var time = $(this).attr("name");
            alert("at Mouse out:- "+time+" Second ");
        });
        });
  </script>
</head>
<body>
  <div id="effect" class="ui-widget-content ui-corner-all">ON Ready Status...
</div>
</body>
</html>
<script>
</script>

如何在 5 秒后更改 div 颜色。鼠标出?

4

3 回答 3

2
    $("#test").on('mouseenter', function() {
        $("#test").css('background-color', 'red');
    });


    $("#test").on('mouseleave', function() {
            var timer=self.setInterval(function() {   
           $("#test").css('background-color', 'blue');
            window.clearInterval(timer);},5000);
    });
});

Fiddle: http://jsfiddle.net/jsAgX/

于 2013-10-09T07:53:13.137 回答
1

尝试

#effect.mouseout {
    background: red;
}

$(document).ready(function () {
    $("#effect").hover(function () {
        var $this = $(this)
        clearTimeout($this.data('mouseouttimer'));
        $this.removeClass('mouseout');
    }, function () {
        var $this = $(this)
        var timer = setTimeout(function () {
            $this.addClass('mouseout');
        }, 2000);
        $this.data('mouseouttimer', timer);
    }).trigger('mouseleave');
});

演示:小提琴

于 2013-10-09T07:51:37.300 回答
1

使用以下在 5 秒后运行您的代码

setTimeout(function() {
//your code
},5000);
于 2013-10-09T07:49:47.180 回答