Jquery - 如果span是< Num,Increment,addClass / s,removeClass / s

时间:2015-04-27 07:41:50

标签: jquery

只是看看你们中的任何一位专业人士是否可以帮我清理或改进这段代码?

普通英语:

虽然跨度小于数字:

  • 添加课程隐藏
  • 增加数量
  • 添加课程表
  • 删除这两个类

它的作用是我打算如何打算这个小提琴,但只是想知道是否有更好的方法?

var $entrySizeClass = $(".entry-size-activity");
var $entrySizeNum = $entrySizeClass.text();

function entrySizeLoop() {
    setInterval(function() { // this code is executed every 3 seconds:
        $entrySizeClass.removeClass("entry-size-hide");
        $entrySizeClass.removeClass("entry-size-show");
        if($entrySizeNum < 105) {
           $entrySizeClass.addClass("entry-size-hide");
           setTimeout(function(){
               $entrySizeClass.addClass("entry-size-show");
           }, 100);    
            $entrySizeClass.text(parseInt($entrySizeClass.text())+1);
            $entrySizeNum++;
            console.log($entrySizeNum);
        }
    }, 5000);
}

$(entrySizeLoop);

http://jsfiddle.net/rhysyg03/dnudhsmr/1/

1 个答案:

答案 0 :(得分:1)

一些意见和建议:

1)定时功能不是每3秒运行一次,它每5(5000毫秒)运行一次。

2)您可以一次删除两个课程:$entrySizeClass.removeClass('entry-size-hide entry-size-show);

3)为什么你们都在递增$entrySizeNum parseInt $entrySizeClass.text()?为什么不这样做:

$entrySizeNum++;
$entrySizeClass.text($entrySizeNum);

4)你的setInterval函数永远不会停止执行!要停止它,请使用clearInterval

var intervalId = setInterval(function() {
  if($entrySizeNum < 105) {
    // do stuff
  } else {
    clearInterval(intervalId);
  }
}, 5000);
  // rest of code