【发布时间】:2015-08-14 13:59:07
【问题描述】:
我有一个制作两个按钮的函数。 一个按钮将自动向下滚动,另一个按钮将自动向上滚动。
它通过一个数组并在每次点击时更改按钮。
我的问题是我必须单击该按钮两次才能使其工作,然后它根本不会被触发。
这里有没有我没看到的逻辑错误?
我希望它的箭头像 twitter 引导图像轮播一样。我想单击箭头并让它们将我带到下一个或上一个部分。
这是我要更改的页面和箭头的屏幕截图 图片已删除
网址已移除
抱歉,我删除了 img 和 url,但由于该网站尚未上线,因此不应以这样的方式查看。不过我是在泡菜。
我解决了这个问题。如果你有类似的,请阅读 cmets。 谢谢大家!
$(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
}
};
})
【问题讨论】:
-
这种情况有没有减少的情况?
-
“这种情况的简化情况”是什么意思?我可以尝试绑定,但我使用的是 jQuery mobile,API 显示“jQuery(".selector").on("tap", function(event) { ... })"
-
就是这样,看到一堵代码对任何人都没有帮助。尝试将您的代码简化为导致问题的原因并将其放入您的问题中。
-
你能在 jsfiddle 上发布你的实际代码吗?
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及重现它所需的最短代码在问题本身。没有明确问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example。
标签: javascript jquery html arrays logic