صفي*_*صفي 8 html javascript css jquery
我想在我的应用程序屏幕上添加一个菜单.该菜单将具有菜单图标,当按下向左或向右箭头时,该菜单图标是水平可滚动的一个菜单.根据菜单屏幕,菜单应滚动到该菜单屏幕的菜单图标.
例:
< menu1 | menu2 | menu3 >
Run Code Online (Sandbox Code Playgroud)
假设有6个菜单图标,一次可见3个.按下右箭头,它应该一次滚动一个项目.
如果我的屏幕与菜单4相关,则必须定位menu4.
< menu4 | menu5 | menu6 >
Run Code Online (Sandbox Code Playgroud)
此外,每个菜单项都应该是可点击的.
请让我知道,我怎样才能做到这一点.
更新 具有MouseOver的js
<script type="text/javascript">
$(function () {
var div = $('div.sc_menu'),
ul = $('ul.sc_menu'),
ulPadding = 15;
var divWidth = div.width();
div.css({ overflow: 'hidden' });
var lastLi = ul.find('li:last-child');
div.mousemove(function (e) {
var ulWidth = lastLi[0].offsetLeft + lastLi.outerWidth() + ulPadding;
var left = (e.pageX - div.offset().left) * (ulWidth - divWidth) / divWidth;
div.scrollLeft(left);
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
的jsfiddle
UPDATE3

更新4
这是从db build with ul&li中获取的动态菜单.如果李的宽度超过屏幕宽度,我只想在左侧和右侧使用箭头滚动额外的li,如果有的话.
看看这个小提琴:
$(document).ready(function () {
$('.right').click(function () {
var position = $('.container').position();
var r=position.left-$(window).width()
$('.container').animate({
'left': ''+r+'px'
});
});
$('.left').click(function () {
var position = $('.container').position();
var l=position.left+$(window).width()
if(l<=0)
{
$('.container').animate({
'left': ''+l+'px'
});
}
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9480 次 |
| 最近记录: |