我偷了一个小jQuery脚本,使同一页面上的导航链接顺利滚动并进行了微小的更改。
到目前为止它工作正常,但是当单击链接时,不会删除悬停事件的CSS并且文本仍带有下划线。现在我认为这与preventDefault函数有关,该函数执行其名称建议并阻止默认行为。
鼠标再次离开链接后如何删除悬停伪类?
$(document).ready(function ()
{
$('a.smooth').click( function (e)
{
e.preventDefault();
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': ($target.offset().top - 100)
}, 900, 'swing', function ()
{
window.location.hash = target;
});
});
});
修改
我刚刚发现了问题 - 我将a:active
设置为text-decoration: underline
。
请参阅我的小提琴以供参考: http://jsfiddle.net/2zcNt/
对不起,这太明显了。我想我需要睡一会儿。
答案 0 :(得分:3)
我的猜测是:visited
伪类的样式有下划线。您可以使用以下命令进行更改:
a:visited{
text-decoration: none;
}
编辑:
发布JSFiddle后,我可以看到问题实际上是你将h1嵌入到锚点中。您应该将锚标记嵌入标题中。
已编辑JSFiddle。注意CSS和以前一样。