Javascript 下划线菜单项
我尝试使用js和jquery创建下划线菜单项。Javascript 下划线菜单项,javascript,jquery,Javascript,Jquery,我尝试使用js和jquery创建下划线菜单项。 这是我的代码 但是我的菜单项没有固定的宽度,因此下划线看起来是错误的。 有人能给我解释一下如何正确计算currpos吗?您可以使用jQuery api查找元素位置(非绝对元素) 可以使用jQuery api查找元素位置(非绝对元素) 我已经修改了脚本的一部分,以便它查看当前项目的位置和宽度,而不是“第一个”项目(您在悬停事件之外计算的项目)(即仅一次) 我已经修改了脚本的一部分,以便它查看当前项目的位置和宽度,而不是“第一个”项目(您在悬停事件之外
这是我的代码
但是我的菜单项没有固定的宽度,因此下划线看起来是错误的。
有人能给我解释一下如何正确计算
currpos
吗?您可以使用jQuery api查找元素位置(非绝对元素)
可以使用jQuery api查找元素位置(非绝对元素)
我已经修改了脚本的一部分,以便它查看当前项目的位置和宽度,而不是“第一个”项目(您在悬停事件之外计算的项目)(即仅一次)
我已经修改了脚本的一部分,以便它查看当前项目的位置和宽度,而不是“第一个”项目(您在悬停事件之外计算的项目)(即仅一次)
每个元素都有不同的宽度。您必须为每个元素获取实际宽度,而不仅仅是第一个元素的宽度。每个元素都有不同的宽度。您必须为每个元素获取实际宽度,而不仅仅是第一个元素的宽度。是否可以删除底部悬停图像并改用此css:
border-bottom: 1px solid red;
图像加载需要更多的时间。能否请删除底部悬停图像并改用此css:
border-bottom: 1px solid red;
图像加载需要更多的时间。代码的问题是,您正在准备初始化菜单项宽度,并假设所有菜单项的宽度都相同 以下是具有动态项目宽度和位置的更新代码:
var animatepos = $(this).offset().left;
$('.menu-hover').stop().animate({left:animatepos, width:$(this).width()}, 300);
更新的JSIDLE链接:
您的代码的问题是,您正在就绪时初始化menuitemwidth,并假设所有菜单项的宽度都相同 以下是具有动态项目宽度和位置的更新代码:
var animatepos = $(this).offset().left;
$('.menu-hover').stop().animate({left:animatepos, width:$(this).width()}, 300);
更新的JSIDLE链接:
在您的问题中包含相关代码此操作已完成:参考此链接在您的问题中包含相关代码此操作已完成:参考此链接我尝试应用您的代码,它在JSFIDLE上工作,但在五月页面上工作方式错误-对于
span。菜单悬停
我对左有错误的含义。您能帮助吗我发现错误了吗?我在这里上载了文件,请尝试将.offset()
与.position()交换
我尝试应用你的代码,它在JSFIDLE上运行,但在五月的页面上运行错误-对于span。菜单悬停
我对左
有错误的含义。你能帮我找出错误吗?我在这里上传了我的文件,尝试将.offset()
与位置()交换