jQuery .Slice澄清

时间:2013-10-10 06:14:17

标签: jquery slice

有人可以在这段代码中向我解释.Slice的假设目的吗?如何选择padding-bottom的子集?非常感谢。

$(this).bind('click', function(){
      var tid = $(this).attr('id');
      tid = tid.replace('play-button-', '');
      playheight = parseInt($('#play-view-' + tid, 10).height());
      playpadding = parseInt($('#play-view-' + tid, 10).css('padding-bottom').slice(0, -2));
      var flex_height = playheight + playpadding;
      setTimeout(function(){
        $('.flex-viewport').animate({height: flex_height});
      },200);
    });

---不使用切片的替代方案----

    $(this).bind('click', function(){
      var tid = $(this).attr('id');
      tid = tid.replace('playlist-button-', '');
      playheight = $('#playlist-display-' + tid).height();
      playheight = parseInt(playheight, 10);
      playpadding = ('#playlist-display-' + tid);
      playpadding = $(playpadding).css('padding-bottom');
      if (playpadding != null) {
        playpadding = parseInt(playpadding, 10);
        flex_height = playheight + playpadding;
      } else {
        flex_height = playheight;
      }
        setTimeout(function(){
        $('.flex-viewport').animate({height: flex_height});
      },200);
    });

1 个答案:

答案 0 :(得分:1)

字符串上的切片采用子字符串并返回它。

在这种情况下,它获取填充值并删除最后两个字符(单位 - 例如px或em),以便ParseInt可以将字符串解析为整数。

'10px'.slice(0,-2)将返回' 10 '

您可以检查this answer与子字符串函数的一些差异: