WordPress中添加返回顶部功能

tax-468440_960_720
对于页面内容比较长的网站,返回顶部的功能是比较需要的。网上的实现方法也不少,包括用百度新闻中的JS脚本的,还有用JQuery的,现在分享如下。

1. 在style.css中添加如下代码

#gotop{
	width:38px;
	height:36px;
	position:fixed;
	bottom:25px;
	right:10px;
	top:auto;
	display:block;
	cursor:pointer;
	background: url(myimages/top.gif) no-repeat
}
 
*html #gotop{
	position:absolute;
	bottom:auto; top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));
}

其中,bottom和right属性可以控制按钮图片在右下角的位置,background属性可以修改返回顶部的图片。

2. 在footer.php中添加如下代码





其中,主要解决了Chrome浏览器不识别document.documentElement.scrollTop的问题,从网上找了相关的处理方法,说是使用

document.documentElement.scrollTop+document.body.scrollTop

来解决问题。然后我修改了代码,具体是第7、13、14、15、18行,完成了对Chrome浏览器的兼容。

3. 添加返回顶部按钮图片,网上搜索各式各样,可以用自己的图片替换。如第一步中的background属性,把top.gif放到主题目录中存放图片的目录下。

通过对第二节的第18行代码中

d.scrollTop+b.scrollTop>100

部分进行修改,可以实现滚动屏幕到达某个位置之后再显示向上按钮,如果去掉“>100”之后,则是在屏幕滚动时立刻显示向上按钮。

另一种方法,就是目前本站用的:可变透明度的jQuery响应式返回顶部代码
jQuery可变透明度返回顶部代码,如果向下滚动超过1200像素,按钮的透明度会下降,减少视觉干扰,更便于浏览内容主体,非常贴心的用户体验,兼容主流浏览器。
使用方法:
1、在head区域引入样式表文件sucaijiayuan.css

.cd-top {
  display: inline-block;
  height: 30px;
  width: 30px;
  position: fixed;
  bottom: 36px;
  right: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  /* image replacement properties */
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background: rgba(112, 165, 203, 0.8) url(../images/cd-top-arrow.svg) no-repeat center 50%;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.cd-top.cd-is-visible {
  /* the button becomes visible */
  visibility: visible;
  opacity: 1;
}
.cd-top.cd-fade-out {
  /* 如果用户继续向下滚动,这个按钮的透明度会变得更低 */
  opacity: .5;
}
.no-touch .cd-top:hover {
  background-color: #e86256;
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  .cd-top {
    right: 20px;
    bottom: 56px;
  }
}
@media only screen and (min-width: 1024px) {
  .cd-top {
    height: 40px;
    width: 40px;
    right: 30px;
    bottom: 46px;
  }
}

2、在head区域引入jquery.min.js和sucaijiayuan.js,注意引入的先后顺序。sucaijiayuan.js代码如下:

jQuery(document).ready(function($){
	// browser window scroll (in pixels) after which the "back to top" link is shown
	var offset = 300,
		//browser window scroll (in pixels) after which the "back to top" link opacity is reduced
		offset_opacity = 1200,
		//duration of the top scrolling animation (in ms)
		scroll_top_duration = 700,
		//grab the "back to top" link
		$back_to_top = $('.cd-top');

	//hide or show the "back to top" link
	$(window).scroll(function(){
		( $(this).scrollTop() > offset ) ? $back_to_top.addClass('cd-is-visible') : $back_to_top.removeClass('cd-is-visible cd-fade-out');
		if( $(this).scrollTop() > offset_opacity ) { 
			$back_to_top.addClass('cd-fade-out');
		}
	});
	//www.sucaijiayuan.com
	//smooth scroll to top
	$back_to_top.on('click', function(event){
		event.preventDefault();
		$('body,html').animate({
			scrollTop: 0 ,
		 	}, scroll_top_duration
		);
	});

});

3、在你的网页中前加入如下代码:

Top

参考来源:http://www.sucaijiayuan.com/Js/top/1081.html

1 Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

69 − 60 =