Javascript 淡入/淡出jquery列表
我正在尝试编写一个jquery函数,它在无序列表(id为“intro”的ul元素)中循环,并分别淡入和淡出每个元素。这不起作用,但我在开发人员工具中没有发现错误。我还尝试更改Javascript 淡入/淡出jquery列表,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试编写一个jquery函数,它在无序列表(id为“intro”的ul元素)中循环,并分别淡入和淡出每个元素。这不起作用,但我在开发人员工具中没有发现错误。我还尝试更改var list=$(“#简介”)至var列表=$(“#简介”)但是也没有骰子 <script type = "text/javascript"> function startAnimations(){ var list = $("#intro");
var list=$(“#简介”)代码>至var列表=$(“#简介”)代码>但是也没有骰子
<script type = "text/javascript">
function startAnimations(){
var list = $("#intro");
list.hide();
list.each(function(li) {
$(li).fadeIn(3000, function(){
$(li).fadeOut(3000);
});
});
}
</script>
函数startAnimations(){
风险值列表=$(“#简介”);
list.hide();
列表。每个功能(li){
$(li).fadeIn(3000,函数(){
美元(li).衰减(3000);
});
});
}
由于html被要求:
<body onload="startAnimations()">
<div class = "container">
<div id = "inner"> </div>
<div id = "right-col">
<ul id = "intro">
<li id = "greeting"> <h2 > sometext </h2> </li>
<li id = "sidenote"> <h6 > sometext </h6> </li>
<li id = "sentence"> <h3 > sometext </h3> </li>
<li id = "sentence"> <h3 > sometext</h3> </li>
<li id = "sentence"> <h3 > sometext</h3> </li>
</ul>
</div>
</div>
</body>
- sometext
- sometext
- sometext
- sometext
- sometext
我认为您没有选择您想要的li。试着这样做:
<script type = "text/javascript">
function startAnimations(){
var list = $("#intro li");
list.hide();
list.each(function(index) {
$(this).fadeIn(3000, function(){
$(this).fadeOut(3000);
});
});
}
</script>
函数startAnimations(){
var列表=$(“#简介”);
list.hide();
列表。每个函数(索引){
$(this).fadeIn(3000,function(){
美元(本)。淡出(3000);
});
});
}
这个“each”函数的第一个参数不是元素本身。这是索引我认为你没有选择你想要的li。试着这样做:
<script type = "text/javascript">
function startAnimations(){
var list = $("#intro li");
list.hide();
list.each(function(index) {
$(this).fadeIn(3000, function(){
$(this).fadeOut(3000);
});
});
}
</script>
函数startAnimations(){
var列表=$(“#简介”);
list.hide();
列表。每个函数(索引){
$(this).fadeIn(3000,function(){
美元(本)。淡出(3000);
});
});
}
这个“each”函数的第一个参数不是元素本身。这是索引试试看
function startAnimations() {
$("#intro li").hide();
function loop() {
var $li = $("#intro li:first-child").fadeIn(3000, function () {
$li.fadeOut(3000, function () {
$li.appendTo('#intro');;
loop()
})
});
}
loop()
}
演示:试试看
function startAnimations() {
$("#intro li").hide();
function loop() {
var $li = $("#intro li:first-child").fadeIn(3000, function () {
$li.fadeOut(3000, function () {
$li.appendTo('#intro');;
loop()
})
});
}
loop()
}
演示:其中大多数看起来都是不错的解决方案。我可能在阅读你的问题,但我假设每个输入和输出单独淡出的好处是,你可以错开过渡
如果是这样,我建议使用jQuery的.delay()方法:
我用jsfiddle@arun来向您展示如何做到这一点:
其中大多数看起来都是不错的解决方案。我可能在阅读你的问题,但我假设每个输入和输出单独淡出的好处是,你可以错开过渡
如果是这样,我建议使用jQuery的.delay()方法:
我用jsfiddle@arun来向您展示如何做到这一点:
您可以使用:
function fadeLi(elem) {
elem.delay().fadeIn().delay(1500).fadeOut(500, function () {
if (elem.next().length > 0) {
fadeLi(elem.next());
} else {
fadeLi(elem.siblings(':first'));
}
});
}
$(function () {
$('#intro li').hide();
fadeLi($('ul li:first'));
});
您可以使用:
function fadeLi(elem) {
elem.delay().fadeIn().delay(1500).fadeOut(500, function () {
if (elem.next().length > 0) {
fadeLi(elem.next());
} else {
fadeLi(elem.siblings(':first'));
}
});
}
$(function () {
$('#intro li').hide();
fadeLi($('ul li:first'));
});
您是否也可以共享html?您正在获取一个带有id的元素,并尝试对其进行迭代<代码>列表。每个
都没有意义,因为id必须是唯一的。请参见“尝试”您也可以共享html吗?您正在抓取具有id的元素,并尝试对其进行迭代<代码>列表。每个
都没有意义,因为ID必须是唯一的。请参阅try@JasonMarmon因为您希望一次只显示一个项目,我们将显示第一个子项,然后在一段时间后将其淡出。。。一旦项目被隐藏,我们通过调用appendTo
移动到ul
的最后一个子项,因为现在我们必须显示第二个项目,如果我们将当前项目移动到最后一个位置,那么第二个项目现在将成为第一个子项,以便我们可以重复该操作loop@JasonMarmon因为您一次只想显示一个项目,我们显示第一个孩子,然后在一段时间后淡出。。。一旦项目被隐藏,我们将通过调用appendTo
移动到ul
的最后一个子项,因为现在我们必须显示第二个项目,如果我们将当前项目移动到最后一个位置,那么第二个项目现在将成为第一个子项,以便我们可以重复循环