2014年1月8日 星期三

jquery slideDown延遲展開,排除反覆顯示



$(document).ready(function(){
     var mouseover_tid = [];
     var mouseout_tid = [];






     $('ul.main_menu>li').hover(//第一層
           function(event){  //滑入

                var _self = this;
                // 停止卷起事件
                clearTimeout(mouseout_tid[$(this).index()]);
                // 當滑鼠滑入超过 0.4 秒, 即展開,並紀錄陣列 ID 中
                mouseover_tid[$(this).index()] = setTimeout(function() {
                      $(_self).find('ul.submenu').slideDown('fast');  //第二層展開
                }, 400);
           },
           function(event){    //滑出
                var _self = this;
                // 停止展開事件
                clearTimeout(mouseover_tid[$(this).index()]);
                // 當滑鼠離超過 0.4 秒, 即收起, 並記錄陣列 ID 中
                mouseout_tid[$(this).index()] = setTimeout(function() {
                      $(_self).find('ul.submenu').slideUp('fast'); //第二層收起
                }, 400);
          }
});










參考/延伸資料:


var t = setTimeout( function(){   m動作    }, n毫秒 );   達n秒執行m    只執行一次
clearTimeout(t);  停止執行m
Note: To be able to use the clearTimeout() method, you must use a global variable when creating the timeout method


http://www.cnblogs.com/ishibin/archive/2013/01/30/2883822.html  
http://www.w3schools.com/jsref/met_win_settimeout.asp
http://www.w3schools.com/jsref/met_win_cleartimeout.asp




var s = setInterval(function, 1000) 每秒執行
window.clearInterval(s); 
http://yiyingloveart.blogspot.tw/2013/04/settimeout-setinterval.html
http://www.w3school.com.cn/htmldom/met_win_setinterval.asp







下拉選單 某值 不可選

標題群組


  <SELECT>  
   <OPTGROUP label="麵包">  
        <OPTION selected>起司麵包</OPTION>  
        <OPTION>菠蘿麵包</OPTION>  
       <OPTION>草莓麵包</OPTION>  
       <OPTION>布丁麵包</OPTION>  
   </OPTGROUP>  
   <OPTGROUP label="蛋糕">  
        <OPTION>奶油布丁蛋糕</OPTION>  
        <OPTION>冰淇淋蛋糕</OPTION>  
        <OPTION>水果蛋糕</OPTION>  
   </OPTGROUP>  
</SELECT> 




參考: http://www.blueshop.com.tw/board/FUM20041006152641OLG/BRD20091007215357WBF.html








特定選項不能選
<script type="text/javascript">
function treat(sel)
{ nochoice = [0,1,4,5]
  for ( var num in nochoice )
    sel.options[nochoice[num]].selected = false
}
</script>

<select name="select2" size="5" multiple class="p12" id="select2"
onchange="treat(this)">
<option selected>-------------------------------</option>
<option>[標題一]</option>
<option>aaa</option>
<option>bbb</option>
<option>----------------------------------------</option>
<option>[標題二]</option>
<option>ccc</option>
<option>ddd</option>
</select>





參考: http://tw.knowledge.yahoo.com/question/question?qid=1009100708010