锚定标记将下降到页面底部

Anchor tag drops to the bottom of the page

本文关键字:底部      更新时间:2023-09-26

我的锚标记从一个单独的页面到指定的页面出现问题,加载后撞到页面底部。有解决办法吗?有关完整代码,请参阅链接。

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,输出

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

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

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

到这个

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

众所周知,命名锚点会导致位置问题,而且在HTML5中,锚点没有name属性。此外,href属性也是必需的。

更多信息

此外,页面上似乎有jQuery问题:

未捕获的类型错误:$(…).ready不是函数

这通常意味着jQuery不可用,或者您与另一个库存在别名冲突。

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

只需尝试使用滑动切换

$(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();
});