【发布时间】:2023-03-17 17:02:01
【问题描述】:
我目前有以下工作导航,其中下划线在链接悬停时显示动画。但是我注意到,当我调整浏览器的大小时,下划线不会重置到正确的位置。我假设如果我从鼠标离开函数中重用一些 JS 并在窗口调整大小函数中使用它,它会正常工作,但我一直收到错误消息。有什么想法吗?
https://codepen.io/anon/pen/MRQaMm
JS:
$(".underline-nav").css("width", $("#one").width());
$(".underline-nav").css("margin-left", $("#one").css("margin-left"));
var unav = $(".underline-nav");
$('nav a').mouseover(function(){
$(".underline-nav").css("transition", "all ease 0.43s" );
var position = $(this).position();
unav.css({
"width": $(this).width(),
"margin-left": $(this).css("margin-left"),
"left": position.left
});
})
$('nav').mouseleave(function() {
$(".underline-nav").css("transition", "all ease 0.7s" );
var firstChild = $(this).find('a:first-child');
var position = firstChild.position();
unav.css({
"width": firstChild.width(),
"margin-left": firstChild.css("margin-left"),
"left": position.left
});
})
//NEW BUT CAUSES ERROR
var resizeTimer;
$(window).resize(function() {
clearTimeout(resizeTimer);
$(".underline-nav").css("transition", "all ease 0.7s" );
var firstChild = $(this).find('a:first-child');
var position = firstChild.position();
unav.css({
"width": firstChild.width(),
"margin-left": firstChild.css("margin-left"),
"left": position.left
});
})
【问题讨论】:
标签: javascript html css resize nav