我怎样才能使这段代码只平滑滚动我想要的元素
How can I get this code to only smooth scroll only the elements I want?
我有一个流畅的滚动代码,它工作得很好,问题是它工作得太好了。我还有其他使用"#"作为标签的元素(例如:),但我不希望标签被平滑滚动定位。我有以下平滑滚动代码:
jQuery(document).ready(function($) {
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^'//,'') == this.pathname.replace(/^'//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
是否可以修改为只针对页面的锚点而不是标签锚点
如果您不想影响以#
作为href值的链接,您应该使用的语法如下所示:
$("[attribute!='value']")
在你的例子中,你指定href
为属性,#
为值。
$("a[href!='#']").on('click', function(e){
e.preventDefault();
//do stuff
});
相关文章:
- 从桌面读取python文件时高亮显示代码
- 如何将函数包装在函数中以避免代码重复
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 货币代码为欧元-金额的格式不应包含小数
- Regex代码只允许一个空格
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- Html页面上的多个Base64图像和平滑加载
- 从var向代码隐藏函数传递值
- 如何动态插入jquery代码
- 如何在php变量中嵌入JQuery代码
- 代码不会验证
- 如何从rails中的代码中删除新行( )
- Angularjs代码未在匿名函数中运行
- 如何做到这一点,使代码在不传递条件后执行函数
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 调整平滑滚动代码
- 平滑滚动代码
- 我的代码的平滑效果
- 平滑滚动javascript代码与Bootstrap标签代码混淆
- 我怎样才能使这段代码只平滑滚动我想要的元素