href没有在每次单击li的一部分时加载链接.使用javascript使整个li可以点击
href not loading link every time part of the li is clicked. Using javascript to make the whole li clickable
http://hemakessites.com
我想单击"关于"按钮转到"关于"页面。我使用Javascript和JQuery来处理行为(使整个li都可以点击)。出于某种原因,在li的不同区域点击并不总是加载页面。
如果有更好的解决方案,我愿意不使用jQuery。
"联系方式"answers"爱好项目"李没有href,所以链接不起作用。如果你转到"关于"页面,菜单是基于CSS工作的,而不是javascript试图让整个li可以点击。因此,about.html页面上没有javascript,您可以在没有任何javascript的情况下看到菜单问题。
谢谢你的帮助!
index.html
<div class="navcontainer">
<ul><li>Link Title</
li><li>Second_Link Title</ <!-- fixes extra space with </li><li> -->
li></ul>
</div>
style.css
#nav li
{
display: inline-block;
List-Style-Type: None;
float:left;
text-align:Center;
width: 153px;
height:46px;
font-size: 80%;
border-Bottom: 1px solid #666666;
}
#nav li #about
{
z-index: 10000;
position: relative;
top: 18px;
text-decoration: underline;
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
}
只需在CSS中添加以下内容:
#nav li.about a{
z-index:10000; }
并且它将工作
您的问题不是javascript,而是CSS。您有一个悬停属性,可以放大<li>
。单击时,活动属性会使其收缩,使元素比以前更小。如果单击放大元素的上角,它将不会加载,因为该元素现在位于可单击区域下方。如果你点击中间的底部,它会。
最终,对于这样的事情,您可能会更好地使用jQuery UI来管理您的选项卡或使用Twitter Bootstrap。开箱即用,你不必担心CSS问题,而且它们已经很好看了,所以没有额外的样式。
如果你想坚持你已经在做的事情,你可能只想放弃花哨的CSS。去掉:活跃的类,我认为它应该可以正常工作。
现在的问题是li
比a
大。点击l
i,但在a
之外不会使链接工作,正如您已经发现的那样。
与其将所有样式和效果应用于li
元素,不如将它们直接应用于a
元素,并将其设置为显示为块。这样,li
的大小将与a
的大小相同,无论您在哪里单击悬停的项目,您的href都会正常工作。随着平板电脑和其他屏幕设备的数量每天都在增加,更大的链接总是一个好主意。
请注意,它不会是代码的直接复制/粘贴,尤其是在浮动和定位方面,但通过将样式直接应用于a
元素,应该不会很难实现您想要的。如果您在转换代码时遇到困难,请随时在jsfiddle上设置一个工作示例,我们很乐意尽可能提供帮助。
这个解决方案不需要任何js。使用js作为主导航总是一个坏主意,因为它会让禁用js的人很难(如果不是不可能的话)在你的网站上导航。不完全是我所说的优雅有辱人格。。。
- 更改li标记文本的Javascript
- href没有在每次单击li的一部分时加载链接.使用javascript使整个li可以点击
- 如何在javascript中使用li头
- Javascript 从嵌套的 UL LI 复选框生成递归 JSON 对象
- Javascript/jQuery:根据内部的IMG ALT更改li类和样式
- 如何使用javascript/jquery动态生成这种嵌套的li对象
- 从javascript生成的li a元素触发onclick
- 如何在JavaScript中突出显示li
- 如何使用json对象作为li元素的id属性或使用javascript锚定标记id
- 如何使用javascript更改css li样式
- Javascript为li添加了span
- 使用JavaScript返回click-li项目的值,并用结果填充文本区域
- 如何使用 JavaScript 代码在活动 li 上添加类
- 通过javascript循环UL中的LI元素
- 在 javascript 中创建 ul 和 li 元素
- Javascript 使用 array 将 li 添加到 ul
- 如何使用 javascript 或 Jquery 在 LI nodeObject 下返回此跨度的 ID
- 通过使用jQuery和JavaScript单击另一个LI来删除一个LI
- 我的Javascript(用于在ul中重新排序li)在IE中不起作用
- 目标最后一个 LI Javascript 然后操作