Onclick隐藏/显示-下一个或上一个类
JQuery Onclick hide / show - next or previous class
我正在尝试创建一个非常简单的图像滑块。虽然很简单,但是我输入的组合太多了。
这是我得到的:
<script>
$(document).ready(function(){
$('#1').show();
$('#2').hide();
$('#3').hide();
$("next-btn").click(function(){
$("#1").hide();
$("#2").show();
});
});
</script>
</head>
<body>
<div id="slider">
<div id="1" class="slide"><img src="slide-image-1" alt="" /></div>
<div id="2" class="slide"><img src="slide-image-2" alt="" /></div>
<div id="3" class="slide"><img src="slide-image-3" alt="" /></div>
</div>
<div id="previous-btn">Previous slide</div>
<div id="next-btn">Next slide</div>
正如你可以看到的jquery代码,我要去的方式,我必须输入不同的onclick的,这取决于哪个图像被隐藏等。
我怎样才能改变这一点,这样它就可以去下一个或前一个div,并显示它时,任何一个按钮被点击,而不必添加太多的组合?
这段代码应该可以正常工作(经过测试)。我希望你能明白:)。
<script>
var active = 0;
var n = $('#slider div').length; // number of divs...
$(document).ready(function(){
showElement(1);
$("#next-btn").click(function(){
if (active < n) showElement(active + 1);
});
$("#previous-btn").click(function(){
if (active > 1) showElement(active - 1);
});
});
function showElement(id) {
$('#slider div').hide();
$('#' + id).show();
active = id;
}
</script>
active
存储显示的元素的个数。当你展示其他东西时,你隐藏了一切,只展示了你需要的那一个。n
用于存储最大数量的元素,这样您就不会超出作用域。
顺便说一下,这不是内存效率最高的解决方案,但修改它真的很简单,而且非常灵活。说实话,你应该跟踪哪张幻灯片被显示了,哪张被隐藏了,只隐藏被显示的那张,只显示你需要的那张。但是如果只有几张幻灯片(100张?),性能差距不会成为问题,,而代码的清晰度和未来的可扩展性在这里要好得多。
如果将来出现问题,每次用户点击一些东西,showElement函数将修复它:隐藏所有内容,只显示您需要的内容。
看看这个链接下的工作解决方案:http://codepen.io/anon/pen/XbPogg
BTW:你可以在你的html标记中添加更多的幻灯片(id = 1,2,3,4,5,6,…),这个脚本将不需要任何更改就可以工作。
相关文章:
- 如何在猫头鹰旋转木马中滑动所有可见项目,而不是使用上一个/下一个按钮
- JQuery,引导导航 - 如何添加上一个/下一个按钮
- 如何在cycle2.js中悬停img时同时显示上一个/下一个按钮
- 如何移动到数组的上一个/下一个索引键
- iOS中的上一个/下一个按钮对于通过JavaScript隐藏/显示的输入被禁用
- 如何使用上一个/下一个功能循环数组中的图像
- jQuery 循环 如果只有一张幻灯片,则隐藏上一个/下一个导航
- 单击上一个/下一个按钮时,我想突出显示下一个或上一个图像
- 带有上一个/下一个的jquery自动滑块
- HTML5视频上一个 - 下一个和自动播放
- 如何在同一页面上使用下一个和上一个按钮更改内容
- 如何使用上一个/下一个按钮循环浏览图像
- 如何获取上一个/下一个非禁用选项的索引(相对于所选选项)
- JQuery:日期选择器:只有最后一个字段具有上一个/下一个按钮
- jQuery - 在滑块中显示/隐藏上一个/下一个按钮
- 具有上一个/下一个按钮的固定宽度和高度的文本容器
- 如何使用vanilla Javascript识别无序和/或嵌套列表序列中的上一个/下一个链接
- 如何使用angularjs或javascript添加上一个/下一个选项
- 数组中的上一个/下一个项目
- Javascript-幻灯片上的下一个/上一个按钮-新孩子需要帮助