gpt4 book ai didi

javascript - 单击时菜单的水平移动

转载 作者:行者123 更新时间:2023-11-28 09:51:33 24 4
gpt4 key购买 nike

检查此链接 Click Me ,如您所见,我有 12 个菜单项,但由于空间限制不能显示超过 4 个菜单。可以看到目前只有Menu1到Menu4是可见的,其他的Meus都是隐藏的。

更新:由于 Jsfiddle 做了一些清理,他们删除了我的 fiddle ,在上面我发布了回答的 fiddle 。在我的问题中,一个 jquery 部分不存在。

我有两个按钮:

  1. Move Left by -1 (later will be referred as 'ML')
  2. Move Right by +1 (later will be referred as 'MR')

我正在努力实现这一目标:

  1. 点击MR将使菜单沿+1移动
  2. 点击ML将使菜单沿-1移动

HTML

<div id="outer">
<input type="button" value="move left by -1" class="left" />
<input type="button" value="Move Right by +1" class="left" />
<ul id="menulist">
<li>Menu 1</li>
<li>Menu 2</li>
<li>Menu 3</li>
<li>Menu 4</li>
<li>Menu 5</li>
<li>Menu 6</li>
<li>Menu 7</li>
<li>Menu 8</li>
<li>Menu 9</li>
<li>Menu 10</li>
<li>Menu 11</li>
<li>Menu 12</li>
</ul>

CSS

#outer {
width:448px;
overflow:hidden;
}
.left {
float:left;
}
ul, li {
list-style:none;
margin:0;
padding:0;
overflow:hidden;
}
ul {
font-size:0;
float:left;
width:1400px;
}
li {
display:inline-block;
padding:5px;
background:lightgrey;
border:darkgrey;
width:100px;
overflow:hidden;
text-align:center;
font-size:14px;
border:1px solid black;
}

如有任何帮助,我们将不胜感激。

最佳答案

Jsfiddle

如上评论所述,如果这在 IE 中不起作用,请查看 this stack overflow question会帮助你

HTML

<div id="outer">
<input type="button" value="move left by -1" class="left" />
<input type="button" value="Move Right by +1" class="right" />
<ul id="menulist">
<li>Menu 1</li>
<li>Menu 2</li>
<li>Menu 3</li>
<li>Menu 4</li>
<li>Menu 5</li>
<li>Menu 6</li>
<li>Menu 7</li>
<li>Menu 8</li>
<li>Menu 9</li>
<li>Menu 10</li>
<li>Menu 11</li>
<li>Menu 12</li>
</ul>

CSS

#outer {
width:448px;
overflow:hidden;
}
.left {
float:left;
}
ul, li {
list-style:none;
margin:0;
padding:0;
overflow:hidden;
}
ul {
font-size:0;
float:left;
width:1400px;
}
li {
display:inline-block;
padding:5px;
background:lightgrey;
border:darkgrey;
width:100px;
overflow:hidden;
text-align:center;
font-size:14px;
border:1px solid black;
}

JS

$('.left').click(function () {
if (parseInt($('#menulist').css('margin-left'), 10) >= -784) {
$('#menulist').animate({
'marginLeft': "-=112px" //moves left
});
}
});
$('.right').click(function () {
if (parseInt($('#menulist').css('margin-left'), 10) >= 0) {
$('#menulist').css('margin-left', '0px!important');
} else {
$('#menulist').animate({
'marginLeft': "+=112px" //moves right
});
}
});

关于javascript - 单击时菜单的水平移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25058598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com