- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 CSS 问题(我相信是这样,也许是 JavaScript?),其中有一些停留在顶部的“导航菜单”代码,我正在尝试适应我们的网站设计,以改进现有的静态菜单(正如通常所做的那样,在 UL/LI 元素上使用 CSS 制作。)
原始代码来自:1stwebdesigner.com 中名为/tutorials/create-stay-on-top-menu-css3-jquery/的“教程”页面
我已经在一个测试页面上将其调整到我们的网站(到目前为止)。
我们的旧式菜单可以在任何当前页面上看到,新版本的停留在顶部,用于测试的 nag-menu 页面在这里:
http://www.detroitblackjackteam.com/team-play.htm
有一个使用旧菜单的相同页面:
http://www.detroitblackjackteam.com/teamplay.htm
(注意类似的URL:只需去掉文件名中的连字符,teamplay.htm)
到目前为止,一切都工作得很好,除了我注意到新版本的菜单没有在浏览器放大或小屏幕上保持正确的居中位置(首先注意到在我的 iPhone 上检查网站时出现问题,但如果您将浏览器窗口设置得非常小并放大菜单...请参阅此处的屏幕截图示例:
http://www.detroitblackjackteam.com/files/ZoomProblem.jpg
<小时/>我已经尽我所能地解决了这个问题,在浏览器中用 FireBug 戳戳它,但我一生都无法看到如何使两个菜单保持在同一位置的中心。
这可能很简单,但我只是想念它:-(
任何帮助/想法表示赞赏。另外,任何清理代码的想法都将受到赞赏,因为我知道我是从不同来源将其拼凑在一起的,并且在当前状态下,它可能不是世界上最有效的东西......;-)
复制下面的 CSS、HTML 和 JavaScript 代码块以供引用:
CSS
.bevelmenu { font: bold 13px Arial; text-align: center;
padding: 9px 0 5px; margin: 0; width: 100%; }
.bevelmenu li { list-style: none; display: inline; }
.bevelmenu li a { padding: 9px 7px; text-decoration: none; color: #aaaaaa; }
.bevelmenu li a:hover { color: #93D48C;
background-image: url("menubg.gif");
background-repeat: no-repeat; background-position: center center; }
/* CSS for stay-on-top menu */
#menu {
white-space:nowrap;
height: 30px;
text-align: center;
background-image:url("menu-bar.png");
background-repeat:repeat;
background-attachment:scroll; }
#navi {
white-space:nowrap;
height: 30px;
text-align: center; }
.default {
width: 100%; }
.fixed {
width: 100%;
top: 0;
left: 0;
position: fixed;
z-index: 4;
box-shadow: 0 0 36px #afffff;
-webkit-box-shadow: 0 0 36px #afffff;
-moz-box-shadow: 0 0 36px #afffff; }
HTML
<div id="navi">
<div id="menu" class="default">
<ul class="bevelmenu">
<li><a href="http://www.detroitblackjackteam.com/">Home</a></li>
<li><a href="http://www.detroitblackjackteam.com/bbs/">Forum</a></li>
<li><a href="http://www.detroitblackjackteam.com/webmail.htm">Mail</a></li>
<li><a href="http://www.detroitblackjackteam.com/cal.htm">Calendar</a></li>
<li><a href="http://www.detroitblackjackteam.com/ratings/">Ratings</a></li>
<li><a href="http://www.detroitblackjackteam.com/files/">Downloads</a></li>
<li><a href="http://www.detroitblackjackteam.com/blog/">Blog</a></li>
<li><a href="http://www.detroitblackjackteam.com/play/">Play!</a></li>
</ul>
</div><!-- close menu -->
</div><!-- close navi -->
JavaScript
<script type="text/javascript">
$(function(){
var menu = $('#menu'),
pos = menu.offset();
$(window).scroll(function(){
if($(this).scrollTop() > pos.top+menu.height() && menu.hasClass('default')){
menu.fadeOut('fast', function(){
$(this).removeClass('default').addClass('fixed').fadeIn('fast');
});
} else if($(this).scrollTop() <= pos.top && menu.hasClass('fixed')){
menu.fadeOut('fast', function(){
$(this).removeClass('fixed').addClass('default').fadeIn('fast');
});
}
});
});
</script>
提前感谢您对此的任何和所有帮助/建议:-)
-DBJT
= - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - =
编辑、更新
我收到了此代码的原始开发人员的评论,他还没有时间真正为我查看它,但仍然回答了电子邮件询问。他说:
<!-- language: lang-none --> <!-- Copy From E-Mail Message -->
>>> That would suggest there's a problem with the offset
>>> (menu is longer than the viewport when zoomed in, and the
>>> script is not able to make a negative offset, to the menu
>>> starts at 0 position in the viewport). Either that or it's
>>> jQuery's fault. Well, not exactly fault, it's just that
>>> there can be some compatibility issues; the script was
>>> written over 3 years ago and uses an old version of jQuery
>>> (newest at the time of writing), but browsers evolved
>>> since then a lot. Some methods jQuery makes use of may
>>> not be working correctly anymore...
所以也许它比我想象的更复杂,JQuery 中的某些东西...或者...某些东西...
这里还没有回复我的问题吗?
真的很感激任何人对此的想法或提醒,任何如何缩小范围的想法,问题可能出在哪里......即使只是猜测。
= - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - =
** 编辑,再次更新;) **
忘记提及这也使用了 JQuery...我想这很重要,哈哈
我在问题中添加了一个“jquery”标签,并注意到它达到了 1.4.2 版本:
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"
charset="utf-8">
</script>
再次感谢任何能够弄清楚这里发生了什么的人:)
-DBJT
最佳答案
设置CSS
.固定{最小宽度:542px;}
使其在两种情况下相似。
关于jquery - "Nag-Menu"设计的中心问题(css?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20304807/
解释 onCreateOptionsMenu(Menu menu) 和 onPrepareOptionsMenu(Menu menu) 的区别。 最佳答案 onCreateOptionsMenu()
所以我又一次为一些问题而苦苦挣扎。这次是这样的,当我将鼠标悬停在 portfoilio 的下拉菜单上时(当网站处于移动 View 模式时),它只会越过其他元素,我尝试使所有内容相对,删除 float
我正在为移动设备设置新菜单。一切都设置好了,但在我点击任何菜单项后,它并没有关闭菜单和菜单覆盖。 有什么办法解决这个问题吗? 我在下面提供了我的 CSS 和 HTML 代码。 CSS margin
我正在使用 selenium webdriver 为单页 Web 应用程序开发一个 Java 框架,使用以下模式:PageObject、SlowLoadableComponent(责任链)、PageF
我是一个动态创建和选项菜单,选项菜单取决于 onCreate() 阶段创建的数据。 问题在于 onCreateOptionsMenu() 在创建数据之前被调用。有没有办法在onCreate()之后执行
HTML: Portfolio Services About Testimonials Request a Quote CSS: ul#menu li {
我是 extjs 的新手。我想在从 Ext.menu.Menu 选择菜单项时关联一个商店。我正在使用 extjs 4.1.0。我在网上搜索甚至通过 sencha doc 但我找不到任何方法来实现这一目
我正在使用 Bootstrap 3.0.0 制作网站 除了下拉菜单不起作用之外,一切都很好。 在文件的头部,我做出了以下声明: 有什么东西不见了? html 应该是正确的:
我刚刚开始学习 JQuery/JavaScript,我无法弄清楚使用 (".menu") 和 ("menu") 之间的区别以及应该在哪里使用它们? 最佳答案 它是menue,jquery使用css选择
我正在尝试向我的应用程序页面之一添加菜单,但由于某种原因,它没有出现。我使这个特定页面扩展了 AppCompactActivity 并覆盖了 onCreateOptionsMenu(Menu menu
我需要完全控制透视菜单。 我已经侵入平台以禁用上下文菜单: private void disablePerspectiveToolbarMenu() { PerspectiveBarManag
假设我有一个包含一些项目的菜单 (Ext.menu.Menu)。显示菜单时,用户 cat 右键单击它的项目,将显示浏览器上下文菜单(带有“将链接另存为...”等元素)。 如何禁用该浏览器上下文菜单
我有一个按钮,单击后将展开一个菜单项,我希望能够通过 java 脚本控制台以编程方式单击其中一个菜单项。这是我单击按钮所需的内容,但在单击 Ext.menu.Menu 时需要一些帮助 var fire
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提出有关书籍、工具、软件库等建议的问题。您可以编辑问题,以便可以用事实和引用来回答它。 5年前关
在这里,我正在从事 safari 扩展开发。我已经在 safari 浏览器上成功获得了开发者证书。 在这里,我可以在工具栏项上创建菜单和子菜单,但根据我的项目要求,我必须在栏中包含菜单和菜单项。 请建
我正在使用 Java 和 Android Studio。我需要更改操作栏上的图像。我需要做的是根据从远程传感器接收到的读数来更改在操作栏上显示的图像。因此,我无法使用可点击的方法,而是使用一些代码在从
亲爱的..我有一个问题。在 Firebug 展上: $("#menu ul.menu").lavaLamp 不是 menu.js 中的函数 悬停在菜单上不显示。我把这个问题显示出来:
因此,我接到了一项任务,即使用 CSS 为网页创建一个汉堡包式多级菜单。这里的问题是添加一个子菜单,使其成为一个多层次的汉堡包。下面是我到目前为止为汉堡包多级菜单编写的代码片段 body { marg
我正在学习 Android 并遵循简单的相机应用教程。我复制了一段代码,但出现错误,我不确定原因。 我使用的教程是, http://iwearshorts.com/blog/android-devel
我的/About 中有一个包含路线的子菜单。 这个子菜单称为 AboutMenu 并出现在/About 下的所有页面,例如 =>/About/Company 和/About/Info。 练习示例显示
我是一名优秀的程序员,十分优秀!