我有一个不同项目宽度的水平菜单,我想表现得像一个可拖动的轮播菜单(你每天都在iPhone和Android屏幕上进行这种拖动)。 我找到了许多像OWL Carousel这样的jQuery Addon。但是,所有这些插件都需要所有项目的固定宽度,并指定每个视口要显示的项目数。
考虑像Home, Administration, Stock, Reports, Personalization
这样的菜单,项目宽度不同。我不知道屏幕宽度,所以我无法确定每个视口我可以显示多少项目。这是大多数轮播卷轴所必需的。
考虑以下图表。外盒是容器div。标有1~6的项目是简单链接(标签)的菜单项。项目1~3是可见的(4是部分可见的),项目5和6是隐藏的。
+---------------------------+
| +----+ +---------+ +---+ +----+ +------+ +---------+
| | 11 | | 2222222 | | 3 | | 44 | | 5555 | | 6666666 |
| +----+ +---------+ +---+ +----+ +------+ +---------+
+---------------------------+
在容器上拖动会将所有项目向左或向右移动。拖动停止后,最近的菜单项应该捕捉到容器的左边框(带动画)。项目的左边界是忽略负号的度量点。此外,如果所有项目都适合容器,则无法拖动,最后一项仅捕捉到菜单的右边界,不允许更多拖动。单击没有拖动的项目应该导航。 如果视口中的最后一项是部分可见的,那么这一点并不重要。
问题
我制作了菜单,我可以左右拖动它。将捕捉最近的项目绑定到容器的左边界时遇到问题。我可以在Javascript和jQuery中做到这一点,但我的解决方案变得如此复杂,以至于我自己迷失了。
问题
是否有任何现有的jQuery插件可以做到这一点? 如果没有,我如何创建动画以捕捉项目?
答案 0 :(得分:-1)