- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为 flexy menu 的插件。它工作得很好,但是当你在手机上查看并滚动时它会关闭,所以你无法点击链接。有没有办法让菜单保持打开状态,直到单击链接或单击菜单按钮?
您可以在此处实时查看它的运行情况: http://botsondaniels.com
HTML:
<ul id="menu-primary" class="flexy-menu">
<li class="menu-item"><a href="http://botsondaniels.com/">Home</a></li>
<li class="menu-item"><a href="http://botsondaniels.com/services/">Services</a></li>
<li class="menu-item"><a href="http://botsondaniels.com/management/">Management Systems</a></li>
<li class="menu-item"><a href="http://botsondaniels.com/accreditations/">Accreditations</a></li>
<li class="menu-item"><a href="http://botsondaniels.com/training/">Training</a></li>
<li class="menu-item"><a href="http://botsondaniels.com/environmental/">Environmental</a></li>
<li class="menu-item"><a href="http://botsondaniels.com/testimonials/">Testimonials</a></li>
<li class="menu-item"><a href="http://botsondaniels.com/about/">About Us</a></li>
li class="menu-item"><a href="http://botsondaniels.com/contact/">Contact</a></li>
</ul>
JQUERY:
$.fn.flexymenu = function(options){
var settings = {
speed : 300, // dropdown speed (ms)
type : "horizontal", // menu type arrangement
align : "right", // menu alignment (horizontal type)
indicator : false // indicator that indicates a submenu
}
$.extend( settings, options );
var bigScreen = false;
if(settings.type == "vertical"){
$(".flexy-menu").addClass("vertical");
if(settings.align == "right"){
$(".flexy-menu").addClass("right");
}
}
if(settings.indicator == true){
var num = 0;
$(".flexy-menu").find("li").each(function(){
if($(this).children("ul").length > 0){
$(this).append("<span class='indicator'>+</span>");
}
});
}
$(".flexy-menu").prepend("<li class='showhide'><span class='menu-text'>MENU</span> <span class='icon'><em></em><em></em><em></em><em></em></span></li>");
screenSize();
$(window).resize(function() {
screenSize();
});
function screenSize(){
$(".flexy-menu").find("li").unbind();
$(".flexy-menu").find("ul").hide(0);
if(window.innerWidth <= 768){
showCollapse();
bindClick();
if(bigScreen == true){
rightAlignMenu();
bigScreen = false;
}
}
else{
hideCollapse();
bindHover();
if(settings.type == "horizontal" && settings.align == "right" && bigScreen == false){
rightAlignMenu();
bigScreen = true;
}
}
}
function bindHover(){
$(".flexy-menu li").bind("mouseover", function(){
$(this).children("ul").stop(true, true).fadeIn(settings.speed);
}).bind("mouseleave", function(){
$(this).children("ul").stop(true, true).fadeOut(settings.speed);
});
}
function bindClick(){
$(".flexy-menu > li").bind("click", function(){
if($(this).children("ul").css("display") == "none"){
$(this).find("ul").slideDown(settings.interval);
}
else{
$(this).children("ul").slideUp(settings.interval);
}
});
}
function showCollapse(){
$(".flexy-menu > li:not(.showhide)").hide(0);
$(".flexy-menu > li.showhide").show(0);
$(".flexy-menu > li.showhide").bind("click", function(){
if($(".flexy-menu > li").is(":hidden")){
$(".flexy-menu > li").slideDown(300);
}
else{
$(".flexy-menu > li:not(.showhide)").slideUp(300);
$(".flexy-menu > li.showhide").show(0);
}
});
}
function hideCollapse(){
$(".flexy-menu > li").show(0);
$(".flexy-menu > li.showhide").hide(0);
}
function rightAlignMenu() {
$(".flexy-menu > li").addClass("right");
var menuWidth = $(".flexy-menu").width();
var menuItems = $(".flexy-menu").children("li");
$(".flexy-menu").children("li:not(.showhide)").detach();
for(var i = menuItems.length; i >= 1; i--){
$(".flexy-menu").append(menuItems[i]);
}
}
}
CSS:
/* Navigation Styles*/
.nav-wrap {
background-color:#ffffff;
width:100%;
height:auto;
border-bottom:1px solid #dde0e2;
}
.top-logo {
width:330px;
height:53px;
margin-top:30px;
margin-bottom:14px;
display:block;
}
.phone {
font-family: 'alwyn_new_rgregular';
color:#008e7f;
font-size:18px;
line-height:22px;
text-align:right;
margin-top:35px;
margin-bottom:0px;
display:block;
}
.email {
font-family: 'alwyn_new_rgregular';
color:#58585a;
font-size:16px;
line-height:22px;
text-align:right;
margin-bottom:0px;
display:block;
}
/*******************************************************************************
Default configuration
*******************************************************************************/
.flexy-menu {
width: auto;
margin:0;
padding: 0;
height:34px;
position:relative;
float:left;
font-family: 'alwyn_new_rgregular';
font-weight:400;
list-style: none;
z-index: 99999;
padding-bottom:15px;
padding-top:15px;
display: table;
table-layout: fixed;
width:100%;
}
.flexy-menu li {
display:inline-block;
font-size:14px;
padding:0;
float:left;
line-height: 20px;
position:relative;
background:#ffffff;
display: table-cell;
padding:5px;
}
.flexy-menu > li > a {
padding:5px 12px 0px 12px;
color:#797a7d;
height:28px;
text-decoration:none;
display:block;
-webkit-transition:color 0.2s linear, background 0.2s linear;
-moz-transition:color 0.2s linear, background 0.2s linear;
-o-transition:color 0.2s linear, background 0.2s linear;
transition:color 0.2s linear, background 0.2s linear;
}
.flexy-menu li:hover > a,
.flexy-menu li.active a {
background: #ecedef;
}
/*-----------------------------
Drop down configuration
-----------------------------*/
.flexy-menu ul,
.flexy-menu ul li ul {
list-style: none;
margin-left: 0px;
padding: 0;
display: none;
position: absolute;
z-index: 99999;
width: 200px;
}
.flexy-menu ul {
top: 32px;
left: 0;
}
.flexy-menu ul li ul {
top: 0;
left: 100%;
}
.flexy-menu ul li {
clear:both;
width:100%;
border: none;
font-size:12px;
}
.flexy-menu ul li a {
padding:15px 20px;
width:100%;
color:#797a7d;
font-size:13px;
text-decoration:none;
display:inline-block;
float:left;
clear:both;
box-sizing:border-box;
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
-webkit-transition:color 0.2s linear, background 0.2s linear;
-moz-transition:color 0.2s linear, background 0.2s linear;
-o-transition:color 0.2s linear, background 0.2s linear;
transition:color 0.2s linear, background 0.2s linear;
}
.flexy-menu ul li a:hover {
background:#ff6600;
}
/*------------------------------------
Collapsible menu configuration
------------------------------------*/
.flexy-menu > li.showhide{
display: none;
width: 100%;
height: 55px;
cursor: pointer;
color:#797a7d;
}
.menu-text {
display:inline-block;
padding-top:17px;
}
.flexy-menu > li.showhide img{
margin-top: 5px;
}
.flexy-menu > li.showhide span.icon{
margin: 19px 10px 0px 0px;
float: left;
}
.flexy-menu > li.showhide .icon em{
margin-bottom: 3px;
display: block;
width: 20px;
height: 2px;
background: #ccc;
}
/*****************************************************************************
Responsive design
*****************************************************************************/
@media only screen and (max-width: 960px) {
.top-logo {
width:250px;
height:40px;
margin-top:30px;
margin-bottom:14px;
margin-left:auto;
margin-right:auto;
display:block;
}
.phone {
text-align:center;
margin-top:10px;
}
.email {
text-align:center;
}
.flexy-menu {
width: 100%;
margin:0;
padding: 0;
height:auto;
position:relative;
float:left;
font-family: 'alwyn_new_rgregular';
font-weight:300;
list-style: none;
}
.flexy-menu li{
display: block;
width: 100%;
margin-right:0px;
}
.flexy-menu > li > a{
padding-top:15px;
padding-bottom:30px;
padding-left: 25px;
border-bottom:1px solid #dde0e2;
}
.flexy-menu a{
width: 100%;
box-sizing:border-box;
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
}
.flexy-menu ul {
top: 60px;
left: 0;
}
.flexy-menu ul,
.flexy-menu ul li ul{
position: static;
}
.flexy-menu ul li ul,
.flexy-menu ul li {
border-left: none;
border-right: none;
}
.flexy-menu ul li a,
.flexy-menu.vertical ul li a {
padding-top:15px;
padding-bottom:15px;
}
.flexy-menu ul > li > a{
padding-left: 40px !important;
}
.flexy-menu > li .indicator{
top: 15px;
right: 25px;
font-size: 17px;
}
.flexy-menu ul > li .indicator{
display: none;
}
}
最佳答案
您的菜单在向下滚动时隐藏,因为您在调整大小时调用了函数: $(window).resize(function() { 屏幕尺寸(); });只是想让你知道滚动页面也会调用调整大小功能,这就是它关闭菜单的原因。希望你能发现你的错误:)
关于javascript - 响应式菜单 - 移动滚动消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41187224/
使用 Foundation 6.3.1,我希望在桌面上显示 Canvas 外菜单,在移动设备上显示 Accordion 菜单。例如 This is the desktop view with a co
function HideandUNhideObj(ThisObj) { var nav = document.getElementById(ThisObj).style if (nav.displ
我正在处理一个页面,该页面有一个显示“更新”的链接。当用户单击此链接时,我希望表单使用幻灯片效果并显示在链接下方。提交表单后,它会更新数据库,并且菜单会显示。 我知道这可以用 JavaScript 来
这是我的运行时创建菜单的关键部分: GtkWidget *menu, *menu_item; menu = gtk_menu_new(); menu_item = gtk_image_menu_ite
您好,我想实现一个像这样的 donut 菜单 http://dribbble.com/shots/610433-Wheel-Nav我知道有一种在 css3 中制作 donut 的简单方法。 .doug
我的应用程序中有一个菜单,当菜单打开时我会触发触觉反馈(来自 onTagGesture Action )。 然而 有时当我点击菜单打开触发器时,菜单实际上不会打开,但我仍然收到触觉反馈。我只在菜单实际
也许这是一个简单的解决方案,但我坚持了下来。 这里有我的代码 http://jsbin.com/ejomuv纯CSS菜单 我想要做的是在悬停时在下拉按钮底部设置 0px 边框半径,但仅在下拉菜单上设置
下拉列表、菜单和组合框都是非常常见的用户界面元素。用户习惯于在 native 应用程序和 Web 应用程序中看到这些元素,但它们存在一些问题。 您必须瞄准鼠标。当您将鼠标移开时,有些菜单会折叠,而有些
我有 codeigniter 背景。现在,我正在学习 Laravel。所以,我处于这种情况(示例),我正在尝试创建一个具有多个用户的 web 应用程序。用户类型 A ,他们可以访问菜单 a、菜单 b
我正在学习 JQuery 的基础知识,我的老师显示的 menu() 看起来根本不像我的。 这是我创建的菜单的 LAF: 代码: Hello Hi Welcome World
- SELECT - 上面的显示:none不起作用。我也尝试过“隐藏”,但没有成功。 如何隐藏此选择菜单? 最佳答案 换行与 或并将 id 添加到标签。 - SELECT
我使用 Jquery 创建菜单,如下所示: homeinfo2info3 Jquery 代码如下: $(document).ready(function(){ $(".prof_info1").unb
我是 C 新手,我需要为项目构建一个带有循环的菜单。我有两个问题。 1) 我想在 else 中添加一个字符,如果在主菜单中按“2”后询问某事,问题将是“你要去参加事件吗?”用户可以输入聊天“Y”或“N
大家好,过去几个小时我一直在为类(class)编写这个程序,但似乎无法解决最后两个问题。它基本上是一个略微修改的 CashRegister 类,通过菜单提供基本功能。我遇到的问题是: 1) 用户第一次
List studentInfo = new LinkedList(); int choice; boolean flag = true; Student student =
我正在使用 bootsrap 4 alpha 6 和 midnight.js 来更改导航菜单切换器的颜色。我想在它旁边插入一个文本(菜单)。捕获中的示例。对于文本切换器,我使用 fontawesome
我正在尝试使用 CSS 菜单解决菜单在 IE 6 中无法正确显示的问题 alt text http://content.screencast.com/users/Dokmanc/folders/Jin
我无法让这段代码工作 - 我想要的是当我将鼠标悬停在圆圈上时,菜单会出现,然后如果我将鼠标从圆圈或菜单上移开,它就会消失。我尝试做的任何事情都是非常错误的,例如 onmouseover 在圆圈上然后在
我有一个典型的 CSS 顶部导航,当您滑过不同的父菜单项时,它会显示一个子菜单。如何更改代码以保持显示事件子菜单。因此,如果您在该父菜单项或其子项之一的页面上,它将保持显示该子菜单,除非您将鼠标悬停在
我很亲近。我怎样才能在我的 上有 MENU 1。 fiddle显示为默认菜单选项,然后在 MENU 2 悬停时更改? 提前致谢。继续编码! :) 最佳答案 要根据您的响应完全远离 jquery 进行编
我是一名优秀的程序员,十分优秀!