揭秘Amazon反应速度超快的下拉菜单是如何实现的
- 格式:doc
- 大小:111.00 KB
- 文档页数:4
网页下拉菜单的实现方法与比较分析作者:黄卫杨文远来源:《电脑知识与技术》2017年第35期摘要:该文阐述了使用CSS、javascript等技术将HTML无序列表生成动态的下拉菜单,以及利用存储于站点地图中的数据“轻松”实现类似效果,各有其特点,广泛应用在网页制作中。
关键词:CSS;javascript;Menu;下拉菜单中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2017)35-0238-011 概述很多网站制作都会将导航(菜单)应用进来,以提升网站交互体验。
下拉菜单是最常见的效果之一,用鼠标移过去时,就会出现下一级子菜单,网站的结构(页面节点分布)展现的一目了然。
制作下拉菜单可以是客户端运行的CSS、JavaScript等技术,也可以使用服务端运行的Menu控件等。
本文讨论3种快速制作三级下拉菜单的方法,并阐述其特点,以供比较分析。
2 下拉菜单静态部分设计一个实现三级导航的下拉菜单,采用HTML文档的无序列表,通过和标记来制作出菜单分级效果,如图1所示。
HTML代码如下:3 动态效果的实现将鼠标放在一级菜单上,弹出下拉菜单,移入位置加入不同颜色以示区别,鼠标移走则菜单消失,本文介绍以下几种方法。
3.1 纯CSS方法实现CSS提供了一个hover伪类,通过设置其display属性的none、block值来控制下拉菜单的出现和隐藏。
鼠标移动某级菜单时,所显示的子菜单位置和父级菜单不一样,使用position定位来控制下拉菜单的位置。
设置float:left实现一级菜单为水平排列,而其他各级菜单则要求竖向排列,用::after伪元素选择器来清除浮动。
CSS代码如下:#nav {margin:100px auto; text-align:center;}#nav ul {border-radius:10px;background:#CCFFFF;padding:020px;position:relative;list-style :none;}#nav ul li {float:left; }#nav ul::after {content:"";display:block;clear:both;}#nav ul li a{display:block;padding:25px40px;color:#000;text-decoration:none;font-family:Arial;}#nav ul li:hover > ul {display:block;}#nav ul li:hover{background:(#5F6975);}#nav ul li, nav ul ul li:hover a {color:#FFF;}#nav ulul{display:none;background:#99CCCC;border-radius:0;position:absolute;top:100%;padding:0; }#nav ul ul li {float:none;border-top:1px solid;border-bottom:1px solid;}3.2 javascript方法实现该方法通过参数li,在父级菜单鼠标放入时添加showsub(li)方法,以及鼠标离开时添加hidesub(li)方法实现子菜单的显示与消失。
基于Bootstrap下拉框插件bootstrap-select使⽤⽅法详解写在前⾯:在这次的项⽬中,没有再使⽤liger-ui做为前端框架了,改为了Bootstrap,这次也好接触下新的技术,在学习的过程中发现,Bootstrap的⼀些组件基本都是采⽤class的形式,就是给⼀个它定义好的样式,就会给你展现出⼀个好看的组件出来,这个⽐liger-ui的界⾯做的要好,但是了解了Boostrap的基本语法后,发现在官⽅的⽂档中,并没有⼀些可以动态加载组件的demo,因为之前⽤的liger-ui,⼤多数组件都只需要写⼀⾏代码,就能很好的,并且很⽅便的直接与后台进⾏交互,并动态加载数据。
但是bootstrap的⽂档中并没有这样的例⼦。
毕竟它就是做静态的,只需要给⼀个样式,那我动态加载数据怎么办?全部⾃⼰封装吗?后⾯查阅资料发现,有许多常⽤的组件插件是基于bootstrap来进⾏封装的,这就需要我们如果要使⽤什么组件,可以单独的再去下载它的插件。
这个时候,就可以做到很⽅便的像后台发送数据进⾏动态加载了。
这⾥就记录下,⼀些常⽤的bootstrap的组件插件吧,⾸先是下拉框。
基于Bootstrap的下拉框也有好⼏个,这⾥我选择了bootstrap-select.js.下⾯就简单的记录下它的⽤法吧,主要是动态的加载数据。
⾸先还是上代码,毕竟代码最直观。
前台jsp页⾯:<%@ page contentType="text/html;charset=UTF-8" language="java" %><%String scheme = request.getScheme();String serverName = request.getServerName();String contextPath = request.getContextPath();int port = request.getServerPort();//⽹站的访问跟路径String baseURL = scheme + "://" + serverName + ":" + port+ contextPath;request.setAttribute("baseURL", baseURL);System.out.println("baseURL:" + baseURL);%><html><head><meta name="viewport" content="width=device-width" /><title>bootstrap-select测试</title><%--导⼊bootstrap与select样式--%><link rel="stylesheet" type="text/css" href="${baseURL}/Bootstrap/bootstrap/css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" /> <link href="${baseURL}/Bootstrap/bootstrap-select/css/bootstrap-select.css" rel="stylesheet" /><%--先导⼊jqury插件--%><script src="${baseURL}/Bootstrap/bootstrap/assets/js/jquery-1.10.2.min.js"></script><%--导⼊bootstrap插件--%><script src="${baseURL}/Bootstrap/bootstrap/assets/js/bootstrap.min.js"></script><%--下拉框插件--%><script src="${baseURL}/Bootstrap/bootstrap-select/js/bootstrap-select.js"></script></head><body><label style="font-weight:normal;background-color: #fac090;width: 80px;text-align: center" >Role</label><%--给⼀个class=“selectpicker” 改变下拉框的宽度⽤data-width --%><select id="sel_role" name="role" class="selectpicker" title="请选择" data-width="150px" style=""></select></body><script>$(function(){//初始化下拉框//动态加载$.ajax({type: 'get',url: '${baseURL}/listAllRole',dataType: "json",success: function (data) {//拼接下拉框for(var i=0;i<data.length;i++){$("#sel_role").append("<option value='"+data[i].roleId+"'>"+data[i].roleName+"</option>");}//这⼀步不要忘记不然下拉框没有数据$("#sel_role").selectpicker("refresh");}});});</script></html>⾸先要导⼊相关的样式以及js插件,由于bootstrap是基于jquery的,故要先导⼊jquery插件,然后bootstrap-select⼜是基于bootstrap的。
【WPS神技能】如何在Excel表格中制作联想动态下拉菜单
在Excel表格中制作下拉菜单已经是小菜一碟了啦,忘记了的小伙伴不妨再瞅瞅推文哈:
【WPS神技能】如何在WPS-Excel中制作一级下拉菜单
这不,Sara想着“如果我只是输入几个字,就可以得到相关搜索,有点类似在搜索引擎中输入关键词,然后得到搜索结果一样”。
如下图所示,就以“姓名”列为搜索前提。
还真别小看Excel,人家的“联想动态下拉菜单”可神气了呢。
第一步:在菜单栏中找到“数据”--“有效性”--“有效性”,如下图所示:
第二步:在跳转的选项框中,我们将“允许”选择为“序列”,在“来源”处输入长串函数“offset”:
=OFFSET($B$2,MATCH(H2&"*",B:B,0)-1,,COUNTIF(B:B,H2&"*"),1),(温馨提示:“$B$2”指的是对应参照系序列的第一个单元格的绝对引用,如下图所示的“B2”列为姓名列的开始,“H2”指的是数据验证时选择的单元格);如下图所示:
此时,在指定某一单元格(如下图中的H2)输入的函数“offset”,意为“以指定的引用为参照系,返回一个新的引用”。
这就决定了它可以在Excel表格中用来设置关键词的联想作用,也即起到了搜索的效果...
完成函数的输入后,我们就得到相关的联想动态下拉菜单了。
这时候,我们随便输入相关字,就可以得到与之对应的关键词,如下图所示:
是不是挺好玩?感兴趣的可以复制函数先试试哦~。
EXCEL制作下拉菜单――详细教程(有图有真相)第一步:
打开Excel,比如本例中我们要做的下拉菜单是1、2、3、4、5、6、7、8、9、10、11、12。
选择SHEET2,SHEET2中所创建的内容作为数据选择来源,即引用来源都可以建在SHEET2中。
如图1所示:
图1
在SHEET2中建立好所需的数据来源后,选中要做下拉菜单的内容,如图2所示,点击菜单栏中的公式,选择定义名称。
图2
选择定义名称后,出现新建名称对话框,下面有个引用来源,选中里面的位置,复制内容后关闭,如图3所示:
图3
第二步:
做好数据来源后,在SHEET1中,我们要先选择需要做下拉菜单的单元格(可以是一个也可以是多个)。
此例中,我们选择D列。
选择好单元格后,点击菜单栏中的数据――〉有效性。
如图4显示:
图4
点击有效性后,出现以下对话框,如图5所示
图5
在设置――〉允许的下拉菜单中选择序列,右边打上勾,在下面的来源窗口中粘贴上刚才第一步的数据来源即可,点确认退出,看到以下效果,如图6所示,即完成了制作下拉单。
图6
本例中操作环境为OFFICE2007,其他WPS,OFFICE2003等操作步骤大同小异。
作者:ZZC。
亚马逊虚拟机原理亚马逊虚拟机(Amazon EC2)是亚马逊公司提供的一种云计算服务,它基于虚拟化技术,允许用户在云上创建和管理虚拟服务器。
亚马逊虚拟机的原理可以分为以下几个方面进行解析。
1. 虚拟化技术亚马逊虚拟机使用虚拟化技术来实现多租户的隔离和资源共享。
虚拟化技术将物理服务器划分为多个虚拟机,每个虚拟机都可以独立运行操作系统和应用程序。
这种虚拟化的方式可以使用户感觉自己拥有一台独立的服务器,但实际上是共享物理服务器的资源。
2. 虚拟机实例亚马逊虚拟机的基本单位是虚拟机实例。
用户可以根据自己的需求选择不同的实例类型,每种实例类型都有不同的计算资源和存储容量。
用户可以根据自己的应用需求选择合适的实例类型,并根据需要动态调整实例的数量。
3. 弹性伸缩亚马逊虚拟机支持弹性伸缩功能,用户可以根据应用的负载情况自动增加或减少实例的数量。
弹性伸缩可以提高应用的可用性和性能,并帮助用户节省成本。
用户可以根据自己的需求设置自动伸缩规则,以便在需要时自动调整实例的数量。
4. 存储和网络亚马逊虚拟机提供多种存储和网络选项。
用户可以选择不同的存储类型,包括云存储和块存储,以满足不同应用的需求。
亚马逊虚拟机还提供虚拟私有云(Virtual Private Cloud)功能,使用户可以在云上创建一个私有的虚拟网络,并与自己的本地网络进行连接。
5. 安全性和可靠性亚马逊虚拟机提供多种安全性和可靠性功能,以保护用户的数据和应用程序。
用户可以使用虚拟私有云进行网络隔离,并使用安全组来控制流量。
亚马逊虚拟机还提供快照和备份功能,可以帮助用户保护数据免受意外删除或损坏。
6. 管理和监控亚马逊虚拟机提供丰富的管理和监控工具,帮助用户轻松管理和监控实例。
用户可以使用亚马逊控制台进行实例的管理和配置,也可以使用亚马逊命令行工具和API 进行自动化操作。
亚马逊虚拟机还提供云监控功能,可以实时监控实例的性能和状态。
总结起来,亚马逊虚拟机是基于虚拟化技术的云计算服务,通过虚拟化技术实现多租户的隔离和资源共享。
教您调用下拉菜单中的JAVA我以前只是简单的学过html代码,那时是2002年的时候,在本地写个网页,给网页加上个背景图片、背景音乐就感觉了不起。
现在真是落后了,所以抓紧时间学css和如何调用java。
因为我听java的视频听了三篇,知道最后才明白木子老师讲的含义。
前两次估计是心里有点抵触吧。
下面书开正解:1、下拉菜单调用的命名代码:<script type="text/javascript">jQuery("#navigation").slide({type:"menu",titCell:".main_nav",targetCell:".sub",effect:"slideDown",delayTime:300 ,triggerTime:0,returnDefault:true });</script>2、下拉菜单中设置的几个参数的含义:(1)#navigation 这个是在导航中设置id,(2)type:"menu",// 效果类型,针对菜单/导航而引入的参数(默认slide)(3)titCell:".main_nav", //titCell头部单元组,和targetCell是相对应的。
鼠标触发对象定义的就是“首页”“公司简介”“产品列表”“联系方式”等(4)targetCell:".sub", //targetCell翻译是目标单元组,titCell里面包含的要显示/消失的对象,定义的是下拉菜单中的项目和项目即产品列表中的“产品1”“产品2”“产品3”,而定义的.sub这个是随便定义的,因为在使用的过程中可以用《div class =”sub”》调用,例如公司简介中可以下拉“公司简介”、“公司新闻”、“公司动态”等(5)effect:"slideDown", //effect的翻译是“效果作用。
vue三级联动下拉列表原理
Vue三级联动下拉列表原理指的是在Vue框架下,实现三个下拉列表之间的联动关系的方法与原理。
三级联动下拉列表常常用于省市区、分类选择等场景中。
该原理的实现基于Vue组件化思想,将三个下拉列表组件化为三个子组件。
通过父组件向子组件传递props属性,实现子组件之间的通信与联动。
具体实现步骤如下:
1. 父组件中定义三个子组件,分别对应三个下拉列表。
2. 父组件中定义一个data对象,对应三个下拉列表选中的值。
3. 父组件向三个子组件分别传递一个props属性,对应该下拉列表的选中值。
4. 子组件中通过props属性接收父组件传递的选中值,并将其渲染到下拉列表中。
5. 子组件中通过watch属性监听选中值的变化,并触发一个自定义事件。
6. 父组件中通过v-on指令监听子组件触发的自定义事件,并在事件处理函数中更新选中值,并向子组件传递新的选中值。
7. 子组件中再次通过props属性接收新的选中值,并将其渲染到下拉列表中,完成联动效果。
总之,Vue三级联动下拉列表原理的核心在于组件之间的通信与联动,通过将子组件组件化,实现父子组件之间的数据传递与事件触
发,从而实现三级联动效果。
如何在亚马逊上提高商品的转化率亚马逊作为全球最大的电商平台之一,每天有数亿用户访问,并交易各类商品。
对于卖家而言,提高商品的转化率是实现销售增长的关键。
本文将介绍几种有效的方法,帮助卖家在亚马逊上提高商品的转化率。
1. 优化商品标题和关键词商品标题是吸引买家点击进入商品页面的重要因素。
一个好的商品标题应该简明扼要地描述产品特点,并包含相关关键词,提高搜索引擎优化(SEO)效果。
卖家可以通过以下几点来优化商品标题: - 使用简洁明了的语言,突出产品的特点和卖点;- 使用相关的关键词,确保买家可以很容易地找到你的产品;- 避免过度使用关键词,保持标题的流畅和可读性。
同时,亚马逊提供了关键词搜索的功能,卖家可将相关关键词填入产品详情页的关键词字段,以提高商品在搜索结果中的排名。
2. 编写吸引人的产品描述详细和吸引人的产品描述能够帮助消费者更好地了解商品,并产生购买欲望。
在编写产品描述时,卖家应注意以下几点:- 突出产品的特点和优势,告诉消费者你的产品相比竞争对手有何独特之处;- 使用简洁明了的语言,避免使用过于复杂的词汇或术语;- 尽量包含产品的详细信息,如尺寸、材质等,以方便消费者做出决策;- 使用高清的产品图片,展示商品的外观和细节。
3. 收集、回复和管理客户评价亚马逊上的客户评价对于其他消费者的购买决策具有非常大的影响力。
卖家应重视客户评价,并采取以下措施:- 主动收集客户评价,可以通过邮件、站内信等方式邀请买家评价;- 及时回复客户的评价,无论是积极的还是消极的,显示出卖家的关注和负责态度;- 积极处理消极评价,通过解决问题和提供优质的售后服务来争取客户的满意度;- 合理管理客户评价,定期检查和整理评价内容,以便及时优化产品和服务。
4. 提供准确的产品信息和竞争力的价格亚马逊上的消费者倾向于选择提供准确详细的产品信息和具有竞争力价格的卖家。
因此,卖家应重视以下几点:- 在产品详情页提供准确和详细的信息,如尺寸、重量、材质、功能等;- 提供高质量的产品图片,展示商品的外观和特色;- 与竞争对手进行价格比较,并提供具有竞争力的价格,吸引买家的购买意愿;- 提供购买保障,如产品质保、退换货政策等,增强消费者的信任感。
如果你以前觉得 Amazon 这家公司不太在用户体验上下功夫,这篇文章可能会改变你的看法。
Amazon主页的左上角有一个商品分类浏览的下拉菜单。
当鼠标从菜单中的选项上滑过时,子菜单的显示速度是超快的。
我们可以看一下:
这个显示速度基本是与鼠标移动同步的,但是绝大多数网站的下拉菜单在显示子菜单时会有一定的延迟,例如:
这个延迟反应是必须的,因为如果没有,当你想把鼠标从一个主菜单选项挪到一个子菜
单选项时,子菜单会消失。
就像这样:
但是 Amazon 的下拉菜单没有这个延迟,而且子菜单也不会在不应该的时候消失。
它是怎样做到这一点的呢?答案是通过探测鼠标移动的方向和轨迹。
想象在鼠标当前的位置和子菜单的左上角和左下角之间画一个三角形。
如果鼠标在这个三角形的范围之内移动,那用户很有可能是在把鼠标从主菜单向子菜单里挪,所以不要立刻更新子菜单。
但是如果鼠标挪动到这个三角形之外,则可以马上更新子菜单。
这就是 Amazon 主页反应速度超快的下拉菜单背后的算法。
上帝在细节中(God is in the details)。
揭秘一个前端细节,我们看到的不仅是一个精妙的算法,而是一个科技巨头对于产品和用户体验的态度。
Amazon 的数百亿市值有多少是从这些很小很小,但是明显很用心的产品细节中积累起来的呢?
如果想把这个菜单逻辑运用到你的网站上,这是 Khan Academy工程师 Ben Kamens 写的 j-query 插件。
如果你觉得这个很神奇,很想做这方面的工作,或是觉得这没有什么,你的 UX 设计比这个好,可以考虑给研发出这个细节的 Amazon 团队()投一份简历,因为他们正在招聘。