在屏幕外打开内容时折叠焦点
Accordion Focus when opening content off screen
我在这个jfiddle中举了一个例子:https://jsfiddle.net/kLh8r294/2/
这是javascript:
$(document).ready(function() {
function close_accordion_section() {
$('.accordion .accordion-section-title').removeClass('active');
$('.accordion .accordion-section-content').slideUp(1000).removeClass('open');
}
$('.accordion-section-title').click(function(e) {
// Grab current anchor value
var currentAttrValue = $(this).closest('.accordion-section-title');
if(currentAttrValue.hasClass('active')) {
close_accordion_section();
}else {
close_accordion_section();
// Add active class to section title
currentAttrValue.addClass('active');
// Open up the hidden content panel
$('.accordion ' + currentAttrValue.attr('href')).slideDown(1000).addClass('open');
}
e.preventDefault();
});
});
其余的在jsfiddle上。
当我打开手风琴并且有很多内容时,内容会滚动到屏幕之外。现在我举了一个例子"第一个"和"最后一个"。
例如,我想使焦点停留在手风琴标题上,因为它正在打开,所以当内容离开屏幕时,用户仍然有点击的手风琴的开头。如果它有点偏离手风琴的焦点,它应该平滑地滚动到它,而不仅仅是一次跳跃.
jquery或javascript中已经内置了什么可以使用吗?我在去的时候学习所有这些,所以任何帮助都会得到认可或洞察力。
最简单的选择可能是 JS 中的最后一行:
document.getElementById("yourTargetSelector").scrollIntoView();
或:
document.getElementById(this).scrollIntoView();
为了平滑滚动,您可以使用scrollTo函数。请参考以下链接:
j查询滚动到元素
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 单击时将焦点更改为元素
- ExtJS——在展开/折叠时调整面板高度
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 在IE9中的输入字段中输入焦点最近按钮
- Javascript游戏输入失去焦点
- ExtJS网格单元格编辑器,防止焦点松动问题
- 检查元素是如何获得焦点的
- 展开和折叠文件夹
- 展开和折叠自举手风琴
- angularjs移除焦点上的活动类并添加到下一个项目
- Don'不允许将焦点集中在自动完成的选择上
- 默认情况下折叠和展开嵌套列表
- 当点击另一件事时,将焦点设置为一件事
- 文本框焦点上的自动完成菜单
- Bootstrap折叠按钮不适用于android
- 如何检测哪个窗口是焦点
- 展开移动设备上的折叠菜单,同时在桌面上保持悬停
- 在屏幕外打开内容时折叠焦点
- 工具栏折叠命令使 CKEDITOR 成为焦点