2015-08-14 119 views
0

我有一个功能,使两个按钮。 一个按钮会自动向下滚动,另一个向上滚动。第一次点击时功能没有正确启动

它通过一个数组并更改每个水龙头上的按钮。

我的问题是,我必须点击两次按钮才能使它工作,然后它不会被解雇。

在这里我没有看到逻辑错误吗?

我想要它的箭头行事像twitter引导图像carousal。我想点击箭头,让他们带我到下一个或上一个部分。

这是网页,我试图改变 IMG取出箭头的截图

网址中移除

对不起,我删除了IMG和URL但不是活但这个网站,不应该这样看待。尽管我还是在腌制。

我解决了这个问题。阅读评论,如果你有这样的一个类似的。 谢谢大家!

$(function() { 
    var leftArrow = $('#left-arrow') 
    var rightArrow = $('#right-arrow') 




    rightArrow.bind("tap", rightTapHandler) 
    function rightTapHandler(event){ 
     if (ai == 0) { 
      alert('0' + event) 
      ai = 1 
      controllerContainer.innerHTML = linkArrayForwards[ai] + '<div id="right-arrow" class="arrow"></div></a>' + linkArrayForwards[0] + '<div id="left-arrow" class="arrow"></div></a>'; 
      return 
     } else if (ai > 0) { 
      alert(ai) 
      ai++ 
      controllerContainer.innerHTML = linkArrayForwards[ai] + '<div id="right-arrow" class="arrow"></div></a>' + linkArrayForwards[ai - 1] + '<div id="left-arrow" class="arrow"></div></a>'; 
      return      
     } else if (ai >= linkArrayBackswards.length) { 
      ai = linkArrayBackswards.length; 
      controllerContainer.innerHTML = linkArrayForwards[ai] + '<div id="right-arrow" class="arrow"></div></a>' + linkArrayForwards[ai - 1] + '<div id="left-arrow" class="arrow"></div></a>'; 
      return 
     } else { 
      alert('nothin') 
      return false 
     } 


    }; 
    leftArrow.bind("tap", leftTapHandler) 
    function leftTapHandler(event) { 
     if (ai == 0) { 
      alert('0' + event) 
      ai = 1 
      controllerContainer.innerHTML = linkArrayBackswards[ai] + '<div id="right-arrow" class="arrow"></div></a>' + linkArrayBackswards[0] + '<div id="left-arrow" class="arrow"></div></a>'; 
      return 
     } else if (ai > 0) { 
      alert(ai) 
      ai-- 
      controllerContainer.innerHTML = linkArrayBackswards[ai] + '<div id="right-arrow" class="arrow"></div></a>' + linkArrayBackswards[ai - 1] + '<div id="left-arrow" class="arrow"></div></a>'; 
      return 
     } else if (ai >= linkArrayBackswards.length) { 
      ai = linkArrayBackswards.length; 
      controllerContainer.innerHTML = linkArrayBackswards[ai] + '<div id="right-arrow" class="arrow"></div></a>' + linkArrayBackswards[ai - 1] + '<div id="left-arrow" class="arrow"></div></a>'; 
      return 
     } else { 
      return false 
     } 

    }; 
}) 
+2

是否有减少的情况下呢? – evolutionxbox

+0

“这是一个减少的情况下”是什么意思?我可以尝试绑定,但我使用jQuery手机和API说“jQuery(”.selector“).on(”tap“,function(event){...})” – Christian4423

+0

只是,看到墙代码不会帮助任何人。尝试将代码缩减为导致问题的原因并将其放入问题中。 – evolutionxbox

回答

1

从我notised在您的网站,它提醒上任何两个箭头的第一次点击“0 [选项选项]”。

if (ai == 0) { 
     alert('0' + event) 
     ai = 1 

“艾== 0”必须是真实的。它是用“0”的唯一警报在它的唯一原因,它会弹出该警报,据我所知&看到。

除此之外,一旦你点击OK警觉,箭头似乎工作对我来说完全没有问题..

编辑
你确定之前,“如果你宣布AI(AI == 0)“检查? 如果你不是。删除警报,使代码看起来像这样(对于两个箭头):

if (ai == 0) { 
     ai = 1 
+0

是的,我修改了一点,以获得这一点。但之后它什么都不做。它会在这之后把你带到第3节,等等。 – Christian4423

+0

虽然我得到它的工作....我结束了附加onclick =“函数()”我想用花哨的jQuery和“很酷”,但这也可以 – Christian4423

相关问题