Javascript jQuery不需要的向上滚动

Javascript jQuery不需要的向上滚动,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一堆描述块,当单击相应的图像时,这些描述块应该淡入,淡出上一个描述块。淡入淡出是可行的,但每次点击页面都会不断向上滚动,扰乱用户的导航 google.load("jquery", "1.3"); google.setOnLoadCallback(function() { jQuery(function($) { $('#a').click(function(e){ $('#bio-b,#bio-c').fadeOut('slow', function(){

我有一堆描述块,当单击相应的图像时,这些描述块应该淡入,淡出上一个描述块。淡入淡出是可行的,但每次点击页面都会不断向上滚动,扰乱用户的导航

google.load("jquery", "1.3");
google.setOnLoadCallback(function() {
jQuery(function($) {

   $('#a').click(function(e){    
        $('#bio-b,#bio-c').fadeOut('slow', function(){
            $('#bio-a').fadeIn('slow');
        });
    });
});
});
我是一个JavaScript/jQueryNoob,主要是从网上找到的代码拼凑而成的。我希望代码不是完全倒退的

编辑:这是在本例中单击的图像的HTML:

<a href="#" id="a"><img></a>

你有没有想过是什么原因造成的,如何修复它?

我相信这就是你想要的。如果我理解错误,请让我知道,我会调整我的答案:

$(document).ready(function(){

 $('.image').click(function(){    
   var findIdNumber = $(this).attr("id");
   $('#bio-' + findIdNumber).fadeIn();
   $("article").not('#bio-'+findIdNumber).fadeOut();     
  });
});

使用
href
of#有效地意味着查找id为空的元素。显然你没有。要修复被“跟踪”的链接,需要对传递给句柄的事件调用
preventDefault

即:


尝试从链接中删除
href=“#”
属性,这可能会触发页面滚动。这种行为本身在HTML标准中,
在升级之前)。;-)

与您的问题无关,但id属性必须以字符而不是数字开头。@MarkusKottländer抱歉,这些是我代码中的名称,但为了可读性,我在示例中添加了数字。“会改回来的。”尼顿菲尔:好建议,我没想到要查版本。那么会是2.0.3吗?至于更改href,我应该早一点想到,但是,我用描述的锚点替换了它。现在,页面不仅不会在每次单击时向上滚动,还会向右滚动到描述!这甚至比Neikos的建议更好,谢谢!我为您创建了一个答案,如果您不介意,请接受并投票
#bio-a {
    display : none;
}
$(document).ready(function(){

 $('.image').click(function(){    
   var findIdNumber = $(this).attr("id");
   $('#bio-' + findIdNumber).fadeIn();
   $("article").not('#bio-'+findIdNumber).fadeOut();     
  });
});
$('#a').click(function(e){    
    $('#bio-b,#bio-c').fadeOut('slow', function(){
        $('#bio-a').fadeIn('slow');
    });
    e.preventDefault();
});