谁能帮忙从数据属性获取值的最佳方式?
$('[data-scrollTo]').on('click', function(event) {
$(document).scrollTo('#'+#DATA?, {duration:'slow'});
return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a data-scrollTo="#scrolltome" href="#">test</a>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<div id="scrolltome"></div>
如何获取值(最短方式)?
按照已经建议的方式使用this
和data()
。问题是滚动到需要用小写字母指定。
$(this).data('scrollto');
至于你的片段... scrollTo()
不是jQuery的一部分,但可能是它的插件之一。要仅使用 jQuery 在本地执行此操作,请使用 scrollTop()
:
$('[data-scrollTo]').on('click', function(event) {
$('html, body').animate({
scrollTop: $($(this).data('scrollto')).offset().top
}, 2000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a data-scrollTo="#scrolltome" href="#">scroll to target</a>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<div id="scrolltome">target</div>
使用.data()
this.data('scrollTo');