Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击相关链接,滚动至引导面板主体_Javascript_Jquery_Html_Twitter Bootstrap - Fatal编程技术网

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);
}