使用锚点 .attr href 作为计数器中数组的起点
Use anchor .attr href as a starting point for an array in a counter
>我目前正在开发一个使用 ajax 在单击锚链接时拉入内容的网站。我希望使用预定义的页面链接数组创建自定义的下一个/上一个按钮。
我尝试使用数组作为计数器,以便在单击下一个按钮时在页面中移动。但是我想使用当前的 href 属性作为起点,然后在数组中移动加减一,具体取决于单击哪个按钮。
这是我正在处理的当前代码笔 http://codepen.io/veryrobert/pen/ocIhl
.HTML:
<a id="value1" href="one.html">NEXT</a>
<a id="value2" href="">PREV</a>
Jquery:
$(function(){
var pages = [ "one.html", "two.html", "three.html", "four.html" ];
var prev = "#value2";
var next = "#value1";
// This works as a starting point
counter = 0;
// But I'd really like this to be the starting point
// counter = $(next).attr("href");
$(next).click(function(e){
e.preventDefault();
counter = (counter + 1) % pages.length;
});
$(prev).click(function(e){
e.preventDefault();
counter = (counter - 1) % pages.length;
$(prev).attr( "href", counter );
});
});
我不是真正的 JavaScript 专家,所以如果这是一种愚蠢的方法,或者我完全以错误的方式进行此操作,请原谅我。
你可以
试试这个
function getCounter(element, array) {
var href = element.getAttribute('href');
for ( var i=0; i < array.length; i++) {
if ( array[i] === href ) {
return i;
}
}
return -1;
}
你像这样使用它:
counter = getCounter( document.getElementById(next), pages );
注意:如果您打算使用 jQuery,我不确定当您调用 $(next).attr('href')
时它会返回什么。 element.getAttribute('href')
会返回"一.html",但 element.href
会返回"host.com/one.html">
相关文章:
- 如何在映射数组中添加换行符
- javascript结合了数组和字典
- 需要帮助设置json数组
- 不能从angular2中的子组件指定父组件中的数组
- 使用JS将数组转换为json对象
- 数组在递归方法中设置为null
- knockoutjs可观察数组
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 访问带有 for 循环中的计数器的数组
- 使用计数器更改选择数组名称
- 创建新数组或增加计数器
- 将增量计数器连接到 JSON 响应循环中的数组选择器的末尾
- 使用锚点 .attr href 作为计数器中数组的起点
- 当计数器到达数组末尾时,如何重置计数器
- 提示输入数组和计数器
- 使用shift()和push()来循环数组值vs.使用计数器变量,哪种方法最好?
- 二维数组中的字符计数器
- 将数组元素指定为对象属性,使用'计数器'值
- Javascript:数组循环中If Else上的计数器未执行
- 数组添加'未定义'在列表的开始-抛出计数器和列表显示