首先请访问这个小提琴:http://jsfiddle.net/XvAR6/
现在向下滚动查看。
这里我使用了jQuery ui。但是,这不是问题,主要问题是当我点击下一页或上一页时页面会自动滚动到顶部。我不想滚动。我可以为它找到解决方案吗?
这是jQuery代码:
$("#tab1, #tab2").tabs({active: 1});
var all = $('.udtalelse').addClass("passiv");
var i = -1;
$('#prev').click(function() {
ctrlKunder( i = !i ? all.length - 1 : --i );
});
$('#next').click(function() {
ctrlKunder( i = ++i % all.length );
}).click();
function ctrlKunder(ele) {
all.removeClass("active").addClass("passiv");
all.eq(ele).removeClass("passiv").addClass("active");
}
谢谢。
答案 0 :(得分:2)
在event
的{{1}}中添加对callback function
的引用。我们在这里用变量click
引用它。然后使用e
;停止默认页面跳转。
e.preventDefault()
答案 1 :(得分:2)
您的锚标记的href为#
,因此当点击它们时,页面的哈希值会更新为#
,从而导致滚动到顶部。阻止默认操作使其停止。
$('#prev').click(function(e) {
e.preventDefault();
...
答案 2 :(得分:0)
您可以在此处使用event.preventDefault()
或return false;
:
$('#prev').click(function(e) {
e.preventDefault(); // return false;
ctrlKunder( i = !i ? all.length - 1 : --i );
});
$('#next').click(function() {
e.preventDefault(); // return false;
ctrlKunder( i = ++i % all.length );
}).click();
您也可以使用return false;
。 return false;
也会阻止事件冒泡。
如果调用此方法,则不会触发事件的默认操作。
答案 3 :(得分:0)
你有两个选择。
将下一个/上一个链接中的href
更改为javascript:;
或
将点击事件更改为:
$('#prev').click(function(e) {
ctrlKunder( i = !i ? all.length - 1 : --i );
e.preventDefault();
});
$('#next').click(function(e) {
ctrlKunder( i = ++i % all.length );
e.preventDefault();
}).click();