渐隐渐显又来了~

渐隐渐显又来了~

作者:LAMP小白  点击:1824  发布日期:2012-09-27 12:57:00  返回列表

其实蛮杯具的 一个渐隐渐显弄了几个小时了 这是再次修改后的代码


用了两个变量来判断是否隐藏,这下杜绝了一些想不到的现象


什么意想不到的现象呢?之前的那个版本从逻辑上来说没什么问题,但是遇上鼠标在多个NAV上乱晃,同时触发多个事件的时候,有的时候导航条显示出来,马上又没了,但是没有触发我设置的渐隐事件,,,不知道是怎么回事 - -


var navShow = true;
var usrOverMouse = true;
  $(document).ready(function(){
    $('#userNav').mouseover(function(){
      usrOverMouse = true;
      $('#userNavShow').show();
    });
    $("#mII").mouseover(function(){
      usrOverMouse = true;
        $("#mIIShow").show();
      });
    $("#selNav").mouseover(function(){
      usrOverMouse = true;
      $("#sel-ulNav").show();
    });
    $('.selectType').click(function(){
      $('#sel-ulNav').fadeOut('100');
    });
    $('#myPlay').mouseover(function(){
      usrOverMouse = true;
      $('#myPlayShow').show();
    });
    //select js codes
    $('.selectType').click(function(){
      var types = $(this).attr('href');
      if(types == 1){
        $('#selectType').html('心得');
      }else if(types == 2){
        $('#selectType').html('好友');
      }else{
        $('#selectType').html('宝贝');
      }
      return false;
    })
    //submit js codes
    $('#sub').click(function(){
      //get vals!
      var types = $('#selectType').html();
      var names = $('#search_names').val();
      //url
      var targets = '{$smarty.const.STATIC_URL}/search/';
      if(names != ''){
        targets = targets+'?name='+names;
      }
      if(types == '心得'){
        targets = targets+'mio_amp;type=1';
      }else if(types == '好友'){
        targets = targets+'mio_amp;type=2';
      }
      window.location.href=targets;
      return false;
    })
    //fix fadeout bug
    $('#mIIShow,#userNavShow,#sel-ulNav,#myPlayShow').mouseleave(function(){
      navShow = false;
    })
    $('#mIIShow,#userNavShow,#sel-ulNav,#myPlayShow').mouseover(function(){
      navShow = true;
    })
    $('#mII,#selectType,#userNav,#myPlay').mouseleave(function(){
      usrOverMouse = false;
    })
    //wait 5s if mouse over the btn
    setInterval(checkNavShow, 1000);
    function checkNavShow(){
      if(navShow == false mio_amp;mio_amp; usrOverMouse == false){
        $('#mIIShow,#userNavShow,#sel-ulNav,#myPlayShow').fadeOut('100');
      }
    }
  });



上一篇:gets和fgets 下一篇:快递查询API
0