如何定义第一个和最后一个对象并停止循环
How to define first and last object and stop the loop
我和你们分享一个小提琴,在那里,如果你专注于输入字段并移动键盘箭头向下键,它将开始选择项目。
一旦你到达最后一个,你就需要再次上升。
我想限制它是这样的:如果你在最后一项上,它不会从顶部重新开始并给出alert('no more!')
,并保持在最后一个;当箭头指向第一个时,它不会再从最后一个开始,而是停留在第一个上。
以下是Navigate
函数体中必要的更改。而不是:
if (displayBoxIndex >= oBoxCollection.length)
displayBoxIndex = 0;
if (displayBoxIndex < 0)
displayBoxIndex = oBoxCollection.length - 1;
你需要有这样一段代码:
if (displayBoxIndex >= oBoxCollection.length)
displayBoxIndex = oBoxCollection.length - 1;
if (displayBoxIndex < 0)
displayBoxIndex = 0;
警告看起来像这样:
if (displayBoxIndex >= oBoxCollection.length) {
alert('no more!');
displayBoxIndex = oBoxCollection.length - 1;
}
在你的JS代码中有一个叫做导航的函数…这控制按键被按下时发生的情况。
下面的代码负责在达到限制时将光标移回到开始位置。
if (displayBoxIndex >= oBoxCollection.length)
displayBoxIndex = 0;
if (displayBoxIndex < 0)
displayBoxIndex = oBoxCollection.length - 1;
如果你想让光标停在最后一个框,并提醒用户,把第一个If语句改成this…
if (displayBoxIndex >= oBoxCollection.length){
displayBoxIndex = displayBoxIndex - 1;
alert("no more!");}
使用这些函数,您可以操作光标越界时发生的情况。
进行这些更改,而不是将displayboxindex再次赋值为0。
if (displayBoxIndex >= oBoxCollection.length){
//1.
alert("No More..")
//2.
return
}
试试这个:您可以使用:first
和:last
检查第一个和最后一个元素
var Navigate = function(diff) {
displayBoxIndex += diff;
var oBoxCollection = $(".qss.selected");
if(oBoxCollection.length==0)
{
$(".qss:first").addClass('selected');
}
else if((diff==1 && oBoxCollection.is(':last')) || (diff==-1 && oBoxCollection.index()==0))
{
alert('No More!');
return false;
}
else if(diff==1)
{ oBoxCollection.removeClass('selected').next('.qss').addClass('selected');
}
else if(diff==-1)
{ oBoxCollection.removeClass('selected').prev('.qss').addClass('selected');
}
}
<<p> JSFiddle演示/strong> 像下面这样改变导航方法,
var Navigate = function(diff) {
displayBoxIndex += diff;
var oBoxCollection = $(".qss");
if(displayBoxIndex<0){
displayBoxIndex=0;
alert("no more");
}
if(displayBoxIndex>=oBoxCollection.length){
displayBoxIndex=oBoxCollection.length-1;
alert("no more");
}
var cssClass = "selected";
oBoxCollection.removeClass(cssClass).eq(displayBoxIndex).addClass(cssClass);
}
相关文章:
- Parse.com在循环中保存对象,只保存最后一个对象
- 如何在Javascript中的对象数组的最后一个对象之后附加几个新对象
- Javascript事件处理程序总是被添加到数组中的最后一个对象
- Javascript - 循环访问对象数组,仅显示最后一个对象
- JS将对象推送到变量,将最后一个对象添加到所有元素中
- 主干集合视图仅渲染集合中的最后一个对象
- JSON 从最后一个对象中删除尾随逗号
- for 循环仅显示数组中的最后一个对象
- 更有效的方法来删除第一个和最后一个对象
- 检索localStorage的最后一个对象中的值
- 为什么onclick只被分配给最后一个对象?
- 使用jquery迭代数组只返回最后一个对象
- jQuery -删除最后一个对象的关键
- 不能检索Angularjs $scope数组的最后一个对象
- 如何在字符串对象的两个对象之间添加逗号,而不是最后一个对象
- 从对象数组中删除最后一个对象
- 获取selector中的第一个和最后一个对象
- 检索JSON对象列表中的最后一个对象
- 我在一个对象中创建了两个不同的对象.在打印它们时,只显示最后修改的对象.如何创造
- 如何定义第一个和最后一个对象并停止循环