65.9K
CodeProject 正在变化。 阅读更多。
Home

Windows 8 Metro UI 网站:菜单 V2

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.71/5 (4投票s)

2014年1月30日

CPOL

3分钟阅读

viewsIcon

20995

Windows 8 网站菜单的增强版本

引言

在本文中,我将向您展示网站的增强版 Windows 8 菜单。 在我的上一篇文章中,我展示了基本菜单,但现在我们将看到更相似的菜单。 我们不会再次进行 Windows 8 菜单分析,但我会列出一些关键点。 让我们开始吧。

V2 中的主要改进

此版本的菜单进行了以下改进

  1. 快捷键与菜单集成。 除了屏幕上的“开始”按钮外,现在“开始键”和“Ctrl 键”也可以用于访问菜单。
  2. 改进的背景效果
  3. 改进的磁贴
  4. 改进的菜单打开效果
  5. 改进的菜单关闭效果
  6. 其他细微修复

菜单的 HTML

  1. <divid=“bg”></div>
  2. <divclass=“menu”>
  3. <divclass=“main”>项目 1</div>
  4. <divclass=“main”>项目 2</div>
  5. <divclass=“main”>项目 3</div>
  6. <divclass=“main”>项目 4</div>
  7. <divclass=“main”>项目 5</div>
  8. <divclass=“main”>项目 6</div>
  9. <divclass=“main”>项目 7</div>
  10. <divclass=“main”>项目 8</div>
  11. <divclass=“main”>项目 9</div>
  12. <divclass=“main”>项目 10</div>
  13. <divclass=“main”>项目 11</div>
  14. <divclass=“main”>项目 12</div>
  15. <divclass=“main”>项目 13</div>
  16. <divclass=“main”>项目 14</div>
  17. <divclass=“main”>项目 15</div>
  18. <divclass=“main”>项目 16</div>
  19. </div>
  20. <divid=“desk”></div>
  21. <divid=“start”></div>

第 1 行代表菜单的背景。

第 2 行代表磁贴的集合。

类为“main”的 Div 代表单个磁贴。

id 为“desk”的 Div 代表“桌面”应用程序。

id 为“start”的 Div 用于屏幕上的“开始”按钮。

菜单的 CSS

.menu{position:fixed;left:10px;top:10px;display:inline-block;width:100%;
height:100%;}#desk{position:fixed;display:none;left:0px;top:0px;
background-color:#4a5b4c;width:100%;height:100%;}.main{width:24%;
height:24%;background-color:orange;transition:all 0.5s;display:
inline-block;margin:2px;}#bg{position:fixed;left:0px;top:0px;
width:100%;height:100%;background-mage:url
(“http://www.softwarecrew.com/wp-content/uploads/2011/08/windows_8_wallpaper_large.png”);
}#start{position:fixed;bottom:5px;left:5px;height:50px;width:50px;
background-mage:url(“http://img.mywindows8.org/images3/Windows-8-start-button.jpg”);
background-size: contain;} 

在 CSS 中,widthheight 的固定值转换为百分比,并添加了桌面 (desk) 的样式信息。

菜单的 jQuery

jQuery 中进行了重大更改。

  1. 由于滑动效果的滞后,完全删除了动画函数的使用。
  2. 完全删除了滑动效果。
  3. 缓动类型从“linear”更改为“easeOutQuint
  4. 添加了额外的代码用于在桌面和菜单之间切换。
  5. 1.       $(document).ready(function(){
    2.           $(“.main”).mousedown(function(){
    3.               $(this).css(“-webkit-transform”,“scale(0.93,0.93)”);
    4.           });
    5.        
    6.           $(“.main”).mouseup(function(){
    7.               $(this).css(“-webkit-transform”,“scale(1,1)”);
    8.           });
    9.           var vis=false;
    10.       $(“#start”).click(function(){
    11.       if(vis === false)
    12.       {   
    13.           $(“#desk”).fadeOut(200);
    14.           $(“#bg”).fadeIn(500);
    15.           $(“.menu”).show(“scale”,{
    16.               direction:“both”,
    17.               origin:["middle","center"],
    18.               percent:100,
    19.               easing:“easeOutQuint”
    20.               },500);
    21.           vis=true;
    22.       }
    23.       else{
    24.           $(“#bg”).fadeOut(500);
    25.           $(“.menu”).hide(“scale”,{direction:“both”,origin:["middle","center"],percent:50},300);
    26.           vis=false;
    27.           $(“#desk”).fadeIn(200); 
    28.       }
    29.       });           
    30.       $(document).keydown(function(e){
    31.       if(e.which==17 || e.which==91 ){
    32.           $(“#start”).trigger(“click”);
    33.       }
    34.       });
    35.   });

从第 1-8 行,代码没有更改。

第 9 行声明并定义了一个变量“vis”(可见)来记录菜单的可见性。 当菜单打开时,它将被设置为 true,如果菜单关闭,它将被设置为 false。 最初,它被设置为 false,因为菜单已关闭。

第 10 行用于将点击事件与屏幕上的“开始”按钮绑定。

第 11 行用于检查菜单是否可见。 如果它已打开,则执行从第 12 行到 22 行的代码。 如果菜单不可见,则执行从第 24 行到 28 行的代码。

第 13 行隐藏桌面,以便可以打开菜单。

第 14 行引入菜单背景。

第 15-20 行以缩放效果将磁贴集合带到菜单上。 磁贴设置为在两个方向上缩放。 原点是它们开始缩放的位置。 百分比用于缩放多少。 缓动是指定动画速度的函数。 500 是完成所有这些动画所经过的毫秒时间。

第 24 行淡出菜单背景。

第 25 行以缩放效果隐藏菜单的所有磁贴。 方向是双向,换句话说,缩放应该从两侧发生。 原点是缩放结束的位置。 百分比是缩放到的程度。 此行实际上缩小了磁贴而不是缩放,因为百分比设置为 50。 它将磁贴从 100% 降低到 50%,然后隐藏菜单。

第 27 行使桌面处于活动状态。

第 30 行将 keydown 事件绑定到文档。 每当用户按下键时,都会触发此事件。

第 31 行检查按下的键是否是 Windows 键或 Control 键。 如果是,则第 32 行触发屏幕上的“开始”按钮上的点击事件。

输出

实时输出

摘要

我希望您喜欢这篇文章。 尽管如此,我还有更多要展示的内容,敬请关注我的下一篇文章。 如果有任何疑问,请随时在评论区提问。 感谢您的阅读。 不要忘记分享和喜欢这篇文章。

有关 源代码

归档于:CodeProject, jQuery
 
© . All rights reserved.