SetInterval只重复一次。怎么解决?

时间:2015-09-15 16:41:18

标签: javascript jquery html css

我正在尝试 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>

1 个答案:

答案 0 :(得分:7)

您需要<body ng-app="GameInformation"> <div id="popup_content"> <table> <tr> <td valign="top"> <b>Game Name: </b> </td> <td valign="top"> {{gameDetail.GameName}} </td> </tr> </table> </div> </body> 使用-40-=40px-=40只会将margin-top设置为-40,如果您想减少,则需要使用-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;
}

  

动画属性也可以是相对的。如果一个值带有前导 + =或 - = 字符序列,则通过在属性的当前值中加上或减去给定数字来计算目标值。

取自 http://api.jquery.com/animate/#animation-properties