Javascript 单击相关链接,滚动至引导面板主体
我有一个很长的面板列表,滚动起来很烦人。我正在尝试在页面顶部设置链接的快捷方式 快捷方式代码:Javascript 单击相关链接,滚动至引导面板主体,javascript,jquery,html,twitter-bootstrap,Javascript,Jquery,Html,Twitter Bootstrap,我有一个很长的面板列表,滚动起来很烦人。我正在尝试在页面顶部设置链接的快捷方式 快捷方式代码: <a data-toggle="collapse" data-parent="#accordion" href="#collapse1" > <img src="obama.jpg" class="img-responsive" /> </a> 但是没有用。有什么想法吗?谢谢 试试这个: HTML: (缩小屏幕以查看页面是否正确滚动)。这个$(e.t
<a data-toggle="collapse" data-parent="#accordion" href="#collapse1" >
<img src="obama.jpg" class="img-responsive" />
</a>
但是没有用。有什么想法吗?谢谢 试试这个:
HTML:
(缩小屏幕以查看页面是否正确滚动)。这个
$(e.target).prev().find(“[id]”)[0].id
假设是从给定的HTML
中给出的?这里是它的来源:我是javascript新手,所以我不太确定:(你能告诉我你在传递导航元素时实际需要什么id吗(id)
功能?我想它应该是#collapse1
。也许#obama
会起到某种作用。问题是,每次我都有一整页具有唯一id的面板,所以它都会不同。collapse1或collapse1是因为collapse1不是id而折叠?太棒了!它似乎起作用了。一个问题,如何让它滚动到顶部面板标题而不是面板折叠?有没有办法将偏移量设置为面板标题的高度?var id=$(e.target)。同级('.panel heading').prop('id');
似乎不起作用。var id=$(e.target)。父级('.panel default').prop('id');
起作用。谢谢!
<div class="panel panel-default" id="obama">
<div class="panel-heading" data-toggle="collapse" data-parent="#accordion" href="#collapse1">
// rest of panel1's code
</div>
<div id="collapse1" class="panel-collapse collapse">
<div class="panel-body">
// panel body
</div>
</div>
</div>
$('#accordion').on('shown.bs.collapse', function (e) {
var id = $(e.target).prev().find("[id]")[0].id;
navigateToElement(id);
})
function navigateToElement(id) {
$('html, body').animate({
scrollTop: $("#" + id).offset().top
}, 1000);
}
<a data-toggle="collapse" data-parent="#accordion" href="#collapse1" >
<img src="obama.jpg" class="img-responsive" />
</a>
<div class="panel panel-default" id="obama">
<div class="panel-heading" data-toggle="collapse" data-parent="#accordion" href="#collapse1">
// rest of panel1's code
</div>
<div id="collapse1" class="panel-collapse collapse">
<div class="panel-body" id="panel-body1">
// panel body
</div>
</div>
</div>
$('.collapse').on('shown.bs.collapse', function (e) {
var id = $(e.target).prop('id');
// To scroll to panel-body (untested)
// var id = $(e.target).children('.panel-body').prop('id');
navigateToElement(id);
});
function navigateToElement(id) {
$('html, body').animate({
scrollTop: $("#" + id).offset().top
}, 1000);
}