jQuery Mobile:函数返回错误的 DIV ID
jQuery Mobile: Function returns wrong DIV id
我在页面上有这样的东西:
<div id="page1" data-role="page" data-theme="a">Page 1</div>
<div id="page2" data-role="page" data-theme="a">Page 2</div>
<div id="page3" data-role="page" data-theme="a">Page 3</div>
<div id="page4" data-role="page" data-theme="a">Page 4</div>
处理向左滑动事件的脚本是:
var pages = ["page1","page2","page3","page4"];
for( var i=0; i<pages.length; i++ ) {
var thisPage = '#'+pages[i];
if( i < pages.length-1) {
$(thisPage).on('swipeleft', function() {
var nextPage = '#'+(pages[i+1]);
console.log(thisPage+'|'+nextPage);
});
}
}
此时,您应该停留在第 1 页,因为没有发生实际的过渡,但如果您尝试向左滑动手势,日志将显示以下内容:
#page4|#undefined
而预期输出应为:
#page1|#page2
我做错了什么?
您的变量 (i) 在错误的范围内定义。您可以尝试将循环索引传递给以该值结束的自调用函数:
var pages = ["page1","page2","page3","page4"];
for( var i=0; i<pages.length; i++ ) {
if( i < pages.length-1) {
(function(index){
var thisPage = '#'+(pages[index]);
$(thisPage).on('swipeleft', function() {
var nextPage = '#'+(pages[index+1]);
console.log(thisPage+'|'+nextPage);
});
})(i);
}
}
相关文章:
- 禁用Tab键以进行具有特定Div ID的输入
- Bootstrap Typeahead不适用于某些Div Id's
- 使用 Jquery 选中基于 Div ID 和类的所有复选框
- 如何点击获得DIV ID
- 将DIV ID内的所有链接设置为返回false
- 在滚动过程中抓住Div id时,Div id为空
- 如何选择当前 DIV ID 以使用该 ID 运行 Jquery
- 将 Div ID 添加到 YouTube iFrame
- 添加/删除 CSS 类属性以尊重不基于 Div id 的类
- 如何根据 Div ID 内容隐藏/显示 DIV
- 如何在 javascript 中使用 DIV ID 对 DIV 产生悬停效果
- jQuery - 更改 Div ID 的值
- 在完整日历提示上获取 qTip2 Div ID
- JQuery 只查看一个 DIV ID 即可获取值
- 获取单击的UL LI选择框的父DIV ID
- 滚动按钮链接Div Id's
- 如何将DIV ID的值保存到数据库PHP&MySQL
- 循环遍历DIV id数组,并每隔x秒刷新这些DIVS
- 通过Javascript获取父GridView中的Div Id
- 错误地获取DIV ID