CSS时间轴滚动条

时间:2013-08-14 11:39:40

标签: javascript jquery css coffeescript timeline

受人尊敬的人......

我正在使用时间轴滚动条,当我向左滚动时,它会给我带来麻烦....

这些值不是线性减去,而是交替添加......

我已多次检查过js但无法弄明白......

http://codepen.io/akashdevaraju/pen/tiesa

  $("#right,#left").click ->
    id = this.id
    patt = /\d+/g
    circles = $(".circle")    
    if id is "right"
      for cir in circles
        left = $(cir).css("left")
        lef = parseInt(left.match(patt))          
        le = lef - 80            
        $(cir).css("left","#{le}px")
    else
      for cir in circles.toArray().reverse()        
        left = $(cir).css("left")
        lef = parseInt(left.match(patt))          
        le = lef + 80
        $(cir).css("left","#{le}px")

请帮忙......

1 个答案:

答案 0 :(得分:1)

请尝试使用以下代码。我修改了一下你的正则表达式,所以它不会去除前面的' - '符号:例如'-80px'并将返回'-80'。即使是负值,你的正则表达式也会返回'80'。当按下左按钮时,负的左偏移被正则表达式搞砸了,所有这些圆圈共享相同的偏移...

$("#right,#left").click ->
    id = this.id 
    patt = /(-)*[0-9]+/g
    circles = $(".circle") 

    for cir in circles
        left = $(cir).css("left")
        lef = parseInt(left.match(patt))
        le = if id is "right" then lef - 80 else lef + 80

        $(cir).css("left","#{le}px")