我有一个header.php里面有我的<a name='#top' />

我有一个footer.php我想做类似的事情

if ($_SERVER[' is scroll bar ']
{
  echo <a href='#top'>Back to Top</a>
}


PHP或Javascript是否可以做这样的事情,在那儿我可以知道我的页面是否比渲染时间长很多?

最佳答案

首先,我不确定此类代码的实用性。我从未真正确定“返回顶部”或“跳转至顶部”链接的作用是什么:


它会把我发送到页面顶部吗?
它会把我送到顶部下方的某个锚点吗?
我会带我到首页吗?
它会重新加载(叹气)吗?


我确实知道按下Home键会做什么,并且我怀疑如果可能的话,大多数人宁愿使用本机控件浏览页面。

尽管如此,一旦页面加载完毕,您可以通过在页面调整大小上设置事件处理程序来动态切换这种链接:

var toTopLink = document.getElementById("toTopLink");

function checkLink(e) {
  /*
   * document.height                       = works in most browsers
   * document.body.scrollHeight            = needed in IE
   *
   * window.innerHeight                    = works in most browsers
   * document.documentElement.offsetHeight = IE in compatibility mode
   * document.body.offsetHeight            = IE backwards compatibility
   *
   * In most browsers, document.height equals window.innerHeight if there is no
   * scrollbar. For IE, we test whether the scrollable height is greater than the
   * visible document height.
   */
  if ((document.height || document.body.scrollHeight) >
        (window.innerHeight || document.documentElement.offsetHeight ||
         document.body.offsetHeight)) {
    toTopLink.style.display = "block";
  } else {
    toTopLink.style.display = "none";
  }
}

window.onresize = checkLink;
window.onload = checkLink;


不同的浏览器-我的意思是IE与其他浏览器-都有各自的高度查找方法,因此上述解释可能有点多余。

08-28 09:05
查看更多