我知道已经有了答案,但我搜索过,没有人在工作,我不知道为什么。
所以我想要的是用标签
顺利滚动到div我想要的是this
所以我拿了js代码但是在我身上根本没有工作,滚动就完全失去了效果。
这是我的代码: w ^ HTML
<div class="col-lg-3 col-md-3 col-sm-3" id="some">
<a href="#info" id="normal">
<img src="imgs/product/normal.png" class="img-responsive">
</a>
</div>
<!-- OTHER CONTENT -->
<div id="info">
Go here
</div>
和JS:
$("#some a[href^='#']").on('click', function(e) {
// prevent default anchor click behavior
e.preventDefault();
// animate
$('html, body').animate({
scrollTop: $(this.hash).offset().top
}, 300, function() {
// when done, add hash to url
// (default click behaviour)
window.location.hash = this.hash;
});
});
答案 0 :(得分:1)
我不知道你是否复制了&gt;粘贴您的代码,但您在ID:
之前错过了引用 <div class="col-lg-3 col-md-3 col-sm-3 id="some">
这可能是一个解决方案,因为它不起作用,因为$('#some a')
当时不存在。
答案 1 :(得分:0)
那是在你有一个链接之前。 BTW看看你的控制台,有没有错误信息?
将您的代码更改为:
$("#some a").on('click', function(e) {
// prevent default anchor click behavior
e.preventDefault();
e.stopImmediatePropagation();
e.stopPropagation();
var id = $(this).attr("href");
// animate
$('html, body').animate({
scrollTop: $(id).offset().top
}, 300, function(){
// when done, add hash to url
// (default click behaviour)
window.location.hash = this.hash;
});
});
答案 2 :(得分:0)
只需使用以下代码段即可实现您在帖子中提到的内容。
$(function() {
$('a').bind('click',function(event){
var $anchor = $(this);
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top
}, 1000);
event.preventDefault();
});
});