我正在尝试从头开始构建自己的客户滑块,我对jQuery有非常基本的了解。
我想要完成的是以下内容:我想构建一个带有推荐的段落的滑块。我的控件将是“next”和“prev”,但我想动态地执行此操作。我不知道自从他们退出数据库以来我会有多少段落。所以它可能是1或10,这是我的问题。我设法在点击时显示()并隐藏()我的div,但就是这样。
这是我的基本代码:
的jQuery
$("#testimonials").ready(function(){
$("#1").show();
$("#2").hide();
$("#3").hide();
$("#next").click(function(){
$("#1").hide();
$("#2").show();
});
$("#prev").click(function(){
$("#2").hide();
$("#1").show();
});
});
HTML
<div id="testimonials">
<div id="1" class="active-slide">
<p>This is paragraph one</p>
</div>
<div id="2" class="inactive-slide">
<p>This is paragraph two</p>
</div>
<div id="3" class="inactive-slide">
<p>This is paragraph three</p>
</div>
</div>
我愿意接受任何建议,或者如果有人知道一个很好的教程来阅读以实现这一目标。
如果我使用UL并尝试通过寻找孩子来“下一步”会更好吗?我此刻有点脑死亡,似乎无法弄清楚如何实现这个目标?
提前致谢
答案 0 :(得分:2)
好吧首先让id
成为数字是无效的HTML,但是对于现代浏览器,我认为这不是问题。其次,你不能硬编码这样的东西。这意味着你将不得不为每张幻灯片编写代码,这不仅仅是一个痛苦的屁股,但也看起来不太好。在这里,我举了一个简单的例子供你查看
基本上你设置了next
和prev
函数作为一个系统,有一个变量包含正在查看的当前幻灯片和总幻灯片的nubmer你可以轻松计算哪个幻灯片是显示下一个或上一个。我希望这有帮助,不要害怕在评论中提出更多问题,我很乐意帮助你。祝你好运!
答案 1 :(得分:1)
请将$('#testimonials').ready
更改为$(#testimonials').load
(如果您在加载div时尝试触发某项功能)。
答案 2 :(得分:0)
试试这个......
不为每个div使用单独的ID
<强>的jQuery 强>
$(document).ready(function(){
function showHide(opt) {
var current = $(".active-slide");
var gHelem = (opt == "next") ? current.next(".testimonials_each") : current.prev(".testimonials_each");
if(gHelem.length > 0) {
gHelem.removeClass("inactive-slide").addClass("active-slide");
current.removeClass("active-slide").addClass("inactive-slide");
}
}
$("#next").click(function(){
showHide("next");
});
$("#prev").click(function(){
showHide("prev");
});
});
<强> CSS 强>
.inactive-slide {
display:none;
}
<强> HTML 强>
<div id="testimonials">
<div class="testimonials_each active-slide">
<p>This is paragraph one</p>
</div>
<div class="testimonials_each inactive-slide">
<p>This is paragraph two</p>
</div>
<div class="testimonials_each inactive-slide">
<p>This is paragraph three</p>
</div>
<button id="prev">Previous</button>
<button id="next">Next</button>
</div>