SetInterval只重复一次.如何修复它
SetInterval is repeating only one time. How to fix it?
我正在尝试ul将每秒移动约40px到顶部。我在stackoverflow上尝试了很多解决方案,但是没有任何帮助。
这是我的代码
setInterval(function() {
$("#ul_news").animate({
marginTop: -40
}, 300);
}, 1000);
#ul_news {
/*position: absolute;
top: 0;
left: 100px;
z-index: 20;*/
}
#ul_news li {
z-index: 20;
color: black;
list-style: none;
padding-bottom: 50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<ul id="ul_news">
<li class="active">ahoj2</li>
<li class="non_active1">ahoj3</li>
<li class="non_active2">ahoj4</li>
<li class="non_active3">ahoj5</li>
</ul>
需要使用-40
~ -=40px
或-=40
。-40
只会将margin-top设置为-40px
,如果你想减少,你需要使用-=40
setInterval(function() {
$("#ul_news").animate({
marginTop: '-=40px'
}, 300);
}, 1000);
#ul_news {
/*position: absolute;
top: 0;
left: 100px;
z-index: 20;*/
}
#ul_news li {
z-index: 20;
color: black;
list-style: none;
padding-bottom: 50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<ul id="ul_news">
<li class="active">ahoj2</li>
<li class="non_active1">ahoj3</li>
<li class="non_active2">ahoj4</li>
<li class="non_active3">ahoj5</li>
</ul>
动画属性也可以是相对的。如果为一个值提供了前导+=或-=字符序列,则通过从属性的当前值中添加或减去给定的数字来计算目标值。
摘自http://api.jquery.com/animate/#animation-properties
相关文章:
- Javascript返回值只在循环中返回一次
- Jquery FadeIn FadeOut 只工作一次
- Javascript html每点击一次就会更改url
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- jQuery滚动功能只工作一次
- 刷新导致我的帖子“;张贴“;再一次
- 引导程序崩溃一次只能看到一个
- 有没有一个抽象层,这样我就可以集成一次,然后使用pusher、pubnub或faye
- 加载器组件仅加载一次
- 根据Angular.JS上一次的内容禁用选择
- 一次又一次地在新的和相同的选项卡中打开一个url
- 只在宽度以下和宽度以上各准备一次
- 如果30秒未单击,请应用CSS一次,将其删除,然后重新迭代
- Angularjs:空对象,当只有一次点击时
- 在Angular应用程序中每个帖子投票一次
- 主干模型更改事件只触发一次
- 如何修复有时加载两次、一次或根本不加载的 Facebook JSDK
- 如何修复此代码以显示 10 秒并一次又一次地永远隐藏 10 秒
- SetInterval只重复一次.如何修复它