CSS时间轴滚动器禁用导航

时间:2013-08-14 17:55:59

标签: javascript jquery dom coffeescript timeline

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

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

当元素数量不再存在时,我需要禁用导航...

我使用bind和unbind相同:

$("#right,#left").click ->
  #alert page_no
  if page_no >= (size-1)
    $("#right").unbind("click")
  else
    #alert "activating right"
    $("#right").bind("click")
  if page_no > 3
    $("#left").unbind("click")
  else
    #alert "activating left"
    $("#left").bind("click")

但左侧导航无效。

基本上,在显示第15个元素后应该禁用右侧导航,并且在溢出第一个元素之前应该禁用左侧导航...

这是我目前的状态: http://codepen.io/akashdevaraju/pen/vikar

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

PS:我以前的代码有导航但没有残疾功能 http://codepen.io/akashdevaraju/pen/tiesa

编辑:添加JS版本

2 个答案:

答案 0 :(得分:1)

通过删除unbinds并将页面检查移动到if右/左块来修复它:

  $("#right,#left").click ->
    #alert page_no
    id = this.id
    patt = /-?\d+/g
    circles = $(".circle")    
    if id is "right"  

      if page_no >= (size-1) #moved first if statement here
         return
      page_no = page_no + 1
      for cir in circles
        left = $(cir).css("left")
        lef = parseInt(left.match(patt))          
        le = lef - 80            
        $(cir).css("left","#{le}px")
    else      
      if page_no <= 3 #moved second if statement here
         return
      page_no = page_no - 1 

      #alert page_no
      for cir in circles        
        left = $(cir).css("left")        
        lef = Number(left.match(patt))        
        le = lef + 80
        $(cir).css("left","#{le}px")

http://codepen.io/anon/pen/Hhazm

发生的事情是unbind('click')解除了父函数的绑定,因此没有发生任何页码检查。通过使用return,单击仍然是绑定但页面检查仍然发生。

需要调整if语句以使您最多15页。

答案 1 :(得分:0)

你需要为.bind()定义一个行为,对吧?你不能只说“绑定” - 你实际上并没有将任何东西绑定到选择器。

$('#left-arrow').bind('click', function(event) {
    // click handling code goes here
});