L84*_*L84 5 accordion zurb-foundation
我正在使用ZURB Foundation (v6) Accordions。
当手风琴打开时,我想将页面滚动到该手风琴项目的顶部。我可以运行这个代码:
$("#arf").on("down.zf.accordion", function() {
$('html,body').animate({scrollTop: $(this).offset().top}, 'slow');
});
Run Code Online (Sandbox Code Playgroud)
当然,这会将页面滚动到手风琴的顶部,而不是手风琴项目。我将如何修改此代码以在打开时滚动到手风琴的项目?
这是我发现有效的解决方案。这适用于 Foundation for Sites 版本 6。
$("#form-selector").on("up.zf.accordion", function(event) {
setTimeout(function(){
$('html,body').animate({scrollTop: $('.is-active').offset().top}, 'slow');
}, 250); //Adjust to match slideSpeed
});
Run Code Online (Sandbox Code Playgroud)
使用是setTimeout因为slideSpeed手风琴的 。如果您不使用setTimeout它,它会立即触发滚动down.zf.accordion,从而滚动到错误的位置。
您也可以down.zf.accordion使用 来代替up.zf.accordion,但是,如果您使用down.zf.accordion,一旦页面加载(当手风琴初始化并打开时)它就会触发并滚动到手风琴项目。这在我的情况下是不需要的,但在某些情况下可能是需要的。
| 归档时间: |
|
| 查看次数: |
2516 次 |
| 最近记录: |