锚标记会下降到页面底部

时间:2015-12-04 15:04:33

标签: javascript jquery html css

我的锚标记从单独的页面到指定页面有问题,然后加载然后碰到页面底部。有没有解决这个问题?请参阅链接以获取完整代码

的jQuery

 <script>
 jQuery(document).ready(function() {

  var allPanels = jQuery('.accordion > dd').hide();

  jQuery('.accordion > dt > a').click(function( e ) {
  e.preventDefault(); // don't use return false;
  allPanels.slideUp('normal');
  jQuery(this).parent().next().slideDown('normal');
  });

  jQuery(location.hash).show();

});
</script>

http://jsbin.com/cugagoruni/edit?html,css,js,output

http://demo.xhalocigsx.com/points/#reviewpoints

2 个答案:

答案 0 :(得分:1)

假设目标页面是您的,请尝试更改此

<dt>
    <a name="#reviewpoints">Writing Product Reviews</a>...
</dt>

到这个

<dt id="reviewpoints">
    <a href="#">Writing Product Reviews</a>...
</dt>

已知命名锚点会导致位置问题,而在HTML5中,无论如何锚点都没有name属性。此外,href属性是必需的。

More info

此外,您似乎在页面上遇到了jQuery问题:

  

未捕获的TypeError:$(...)。ready不是函数

这通常意味着jQuery不可用或者您与其他库存在别名冲突。

更新:您似乎在该页面中加载了至少3个版本的jQuery。他们处理得当吗?

答案 1 :(得分:0)

尝试使用 slideToggle

$(function() {
    var allPanels = $('.accordion>dd');
    allPanels.hide();
    $('.accordion>dt>a').on('click',function(e) {
        e.preventDefault();
        el=$(this).parent().next();
        allPanels.not(el).slideUp();
        el.slideToggle();
    });
    $(location.hash).show();
});