Jquery滚动到基于数据属性的部分
Jquery scroll to section based on data attribute
我尝试制作这些图像,当您单击它们时,它们会滚动到data-down
属性中给定的id。然而,当我尝试它的时候,它并没有打滑。当您对包含要滚动到的id的变量进行控制台日志记录时,它是正确的,所以我不知道为什么它不起作用。
<header>
<div id="header-content">
<h1>Welcome to the JETS Lake Garda Campaign</h1>
<img class="down" data-down="#about" src="images/down.png">
</div>
</header>
<section id="about">
<h2>About Us</h2>
<p>Libero minus dicta, sapiente, dolor, quidem quisquam magnam expedita eos voluptates saepe itaque maiores facilis sit nihil consequuntur vero hic possimus inventore autem. Voluptate amet dicta corporis dolorum facilis, quisquam.</p>
<img class="down" data-down="#sailors" src="images/down.png">
</section>
<section id="sailors">
<h2>Sailors</h2>
<p>Libero minus dicta, sapiente, dolor, quidem quisquam magnam expedita eos voluptates saepe itaque maiores facilis sit nihil consequuntur vero hic possimus inventore autem. Voluptate amet dicta corporis dolorum facilis, quisquam.</p>
<div class="down" data-down="#sponsors" src="images/down.png">
</section>
<section id="sponsors">
<h2>Sponsors</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi, itaque, pariatur. Aliquam ab in, ullam nostrum quis eos, commodi at? Eos quod amet dignissimos dolorum consequuntur adipisci dolore ducimus quis.</p>
</section>
$(document).ready(function () {
$('.down').on('click', function () {
var toGo = $(this).data('down');
console.log(toGo);
$('html,body').animate({
scrollTop: $(toGo).offset.top
}, 'slow');
});
});
http://jsfiddle.net/8bc15bdu/
您必须用$(toGo).offset().top
替换$(toGo).offset.top
偏移量是一个函数,因此您应该这样访问它:
$(document).ready(function() {
// Navigation buttons
$('.down').on('click', function(){
var toGo = $(this).data('down');
$('html,body').animate({
scrollTop: $(toGo).offset().top
}, 'slow');
});
});
这是一个更新的工作示例。
用$(toGo).offset().top
替换$(toGo).offset.top
您可以尝试使用"scrollTo"jQuery扩展。我在几个项目中使用过它,它非常容易实现和调试:)
https://github.com/flesler/jquery.scrollTo
相关文章:
- 序列化数据属性中对象的最可靠方法
- jQuery最近父级的数据属性选择器
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- 数据属性仅在切换设备模式下工作
- 函数jquery.html()不提供数据属性集值
- 在数据属性上进行下拉自动选择
- JavaScript-获取数据属性的值返回未定义的值
- 如何替换数据属性中的特定字符串单词
- 使用数据属性将HTML数据复制到另一个元素
- 带有CSS的数据属性就没那么有用了
- 查找所有TD标签并读取其数据属性
- 使用jQuery获取第N个元素的数据属性值
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- 数据属性有没有更干净的方法
- 是否可以使用CSS分配数据属性
- 使用jQuery属性滚动到数据
- 使用数据属性滚动到元素
- Jquery滚动到基于数据属性的部分
- 若元素在数据属性上滚动,那个么
- Jquery滚动到没有Id的元素,仅按数据属性滚动