0

我遇到了一个相对常见的问题。

请考虑以下代码:

<html>
    <head>
        <script type="text/javascript" src="\\jquery-1.7.2.js"></script>
        <style>
            #div{
                width: 100%;
            }
        </style>
    </head>
    <body>
        <div id="tabz1">1 tab</div>
        <div id="tabz2">2 tab</div>
        <script>
            $('div[id*="tabz"]').mouseout(function(){
                $(this).delay(1000).hide("slow");
            });
        </script>
    </body>
</html>

我希望此代码执行以下操作:

  1. 在 div 的 mouseout 上,延迟后隐藏它(很好,这有效)。

  2. 如果鼠标重新进入 div 则取消 1。

我的问题是;我如何让 2 工作

如果之前有人问过这个问题,我感谢您的帮助并道歉。

4

2 回答 2

0

解决了我的问题:

    $('div[id*="tabz"]').mouseout(function(){

        $(this).delay(1000).slideUp('slow');

    });

    $('div[id*="tabz"]').mouseover(function(){

        $('div[id*="tabz"]').stop() 

        $('div[id*="tabz"]').show(function() 
        {
        $('div[id*="tabz"]').removeAttr('style')
        });  

    });
于 2013-06-17T10:02:46.193 回答
0

jquery api 说它不能被取消。

http://api.jquery.com/delay/

也许你应该使用 setTimeout。

于 2013-06-17T09:25:02.753 回答