setTimeout鼠标悬停示例

这是一个鼠标悬停显示div的function,备忘一下,以供以后使用...........写得不好的地方谢谢大家指正

    var timeout = 300;
    var showtimer = 0;
    var item = 0;

    function item_open(obj) {
        item_close();
        showtimer = window.setTimeout(function(){
            item = obj.find('div').css('visibility', 'visible');
        },timeout);
    }

    function item_close() {
        if (item ) {
            item.css('visibility', 'hidden');
        }
    }

    function item_timer(obj) {
        item_canceltimer();
        item_close();
    }

    function item_canceltimer() {
        if (showtimer) {
            window.clearTimeout(showtimer);
            showtimer = null;
        }
    }

    $(document).ready(function() {
        $('#mainnav > ul > li').hover(
        function(){
            var obj = $(this);
            item_open(obj);
        },
        function(){
            var obj = $(this);
            item_timer(obj);
        });
      });

   setTimeout的原型是这样的:
   iTimerID = window.setTimeout(vCode, iMilliSeconds [, sLanguage])
  
  setTimeout有两种形式

  setTimeout(code,interval)
  setTimeout(func,interval,args)

  其中code是一个字符串
  func是一个函数.

  注意"函数"的意义,是一个表达式,而不是一个语句.
  比如你想周期性执行一个函数
  function a(){
      //...
  }
  可写为
  setTimeout("a()",1000)
  或
  setTimeout(a,1000)

 

你可能感兴趣的:(settimeout)