我正在运行此JQuery脚本来滚动divs
http://jsfiddle.net/sg3s/rs2QK/
jQuery(function($) {
$('a.panel').click(function() {
var $target = $($(this).attr('href')),
$other = $target.siblings('.active');
if (!$target.hasClass('active')) {
$other.each(function(index, self) {
var $this = $(this);
$this.removeClass('active').animate({
left: $this.width()
}, 500);
});
$target.addClass('active').show().css({
left: -($target.width())
}).animate({
left: 0
}, 500);
}
});
});
问题是,例如,如果在这两个div之上有一个标题,它有一些高度,JQuery将向下滚动窗口以获取相同的标题高度。
有没有办法阻止这种情况?
谢谢
答案 0 :(得分:0)
在将事件绑定到锚元素时,在底部使用 return false 。这会阻止在网址中添加#和您的问题。
$(document).ready(function(){
$('a.panel').click(function(e) {
e.stopPropagation();
var $target = $($(this).attr('href')),
$other = $target.siblings('.active');
if (!$target.hasClass('active')) {
$other.each(function(index, self) {
var $this = $(this);
$this.removeClass('active').animate({
left: $this.width()
}, 500);
});
$target.addClass('active').show().css({
left: -($target.width())
}).animate({
left: 0
}, 500);
}
return false;
});
});