javascript - 如何显示两个水平滚动菜单栏
问题描述
我需要为我的网站显示两个水平滚动菜单栏。所以我搜索并找到了带有左右箭头的自定义水平滚动菜单。
https://jsfiddle.net/c5grnve6/
当页面中只有一个滚动菜单时,它可以正常工作。如果我使用两个菜单,就会出现问题。
01)当点击右箭头或左箭头时,它会移动两个菜单箭头。
02)右箭头到达终点时不隐藏。
所以我尝试复制这段代码并使用不同的类名,但没有运气。
if (menuPosition <= paddleMargin) {
$(leftPaddle).addClass('hidden');
$(rightPaddle).removeClass('hidden');
} else if (menuPosition < menuEndOffset) {
// show both paddles in the middle
$(leftPaddle).removeClass('hidden');
$(rightPaddle).removeClass('hidden');
} else if (menuPosition >= menuEndOffset) {
$(leftPaddle).removeClass('hidden');
$(rightPaddle).addClass('hidden');
}
我怎样才能做到这一点?
解决方案
试试这个
$(rightPaddle).on('click', function() {
$(this).parent().parent().find('.menu').animate( { scrollLeft: menuInvisibleSize}, scrollDuration);
});
// scroll to right
$(leftPaddle).on('click', function() {
$(this).parent().parent().find('.menu').animate( { scrollLeft: '0' }, scrollDuration);
});
或者你可以使用ParentsUntil
推荐阅读
- docker - Go Docker 容器失败:“退出代码 1”
- php - 如何在sql中将两列连接成一个新列?
- curl - 当使用 cURL 将信息粘贴到网站上的文本字段并“按”回车时,我如何验证它实际通过了?
- excel - 循环遍历文件夹中的每个 Excel 文件,到同一个工作表以复制相同的范围
- python - Flask - 防止多个打开的mysql连接?
- azure-container-instances - 对等 vnet 中的 ACI(Azure 容器实例)可以通信吗?
- java - Spring Boot 中的 Hibernate JPA/CrudRepository 实体锁定
- android - 来自官方文档的令人困惑的文字
- docker - Docker 服务中的 Docker 容器 ID 唯一性
- swift - Swift AVAudioEngine:更改 MacOS 的音频输入设备