浏览 1246 次
锁定老帖子 主题:右键小菜单练习---JavaScript
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-04-10
<script type="text/javascript" src="js/jquery-1.5.1.min.js"></script> <script type="text/javascript"> $(function(){ var settings = [ { text : "JavaScript框架" , items : [ { text : "JQuery" , items : [ { text : "UI" , items : [] } , { text : "Mobile" , items : [] } ] } , { text : "ExtJS" , items : [] } , { text : "Dojo" , items : [ { text : "IBM" , items : [ { text : "Web Application Server X" , items : [] } , { text : "TAM" , items : [] } ] } , { text : "Oracle-Sun" , items : [] } ] } ] } , { text : "J2ee框架" , items : [] } ] ; Menu.load(settings) }) ; var Menu = function(){ function _getDomId(){ var myString = [ "0","1","2","3","4","5","6","7","8","9","a","b", "c","d","e","f","g","h","i","j","k","l","m","n", "o","p","q","r","s","t","u","v","w","x","y","z","_" ] ; var domId = "" ; for(var i=0;i<8;i++){ var index = parseInt(Math.random() * myString.length) ; domId += myString[index] ; } return domId ; } function _render(items,dom){ var _ul_ = $("<ul></ul>") .attr("id",_getDomId()) .addClass("menu") .appendTo("body") .css( { top : dom.offset().top + 5 + "px" , left : dom.offset().left + dom.width() - 4 + "px" } ) ; dom.attr("ui",_ul_.attr("id")) ; for(var j=0;j<items.length;j++){ var item = items[j] ; var _li_ = $("<li></li>") .appendTo(_ul_) .mouseover(function(){ $(this).addClass("active") ; var s = $(this).attr("ui") ; $(document.getElementById(s)).fadeIn("normal") ; }) .mouseout(function(){ $(this).removeClass("active") ; var s = $(this).attr("ui") ; $(document.getElementById(s)).fadeOut("fast") ; }) ; var _a_ = $("<a href='#'></a>") .html(item.text) .appendTo(_li_) ; if(item.items.length){ _a_.addClass("more") ; _render(item.items,_li_) ; } } } ; function _init(jq){ jq.show("slow") ; } ; function load(settings){ var _ul = $("<ul></ul>") .addClass("menu") .appendTo("body") ; for(var i=0;i<settings.length;i++){ var data = settings[i] ; var text = data.text ; var items = data.items ; var _li = $("<li></li>") .appendTo(_ul) .mouseover(function(){ $(this).addClass("active") ; var s = $(this).attr("ui") ; $(document.getElementById(s)).fadeIn("normal") ; }) .mouseout(function(){ $(this).removeClass("active") ; var s = $(this).attr("ui") ; // $(document.getElementById(s)).fadeOut("fast") ; }) ; var _a = $("<a href='#'></a>") .html(text) .appendTo(_li) ; if(items.length){ _a.addClass("more") ; _render(items,_li) } } _init(_ul) ; } ; return { load : load } ; }() ; </script> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |