用jQuery实现的智能隐藏、滑动效果的返回顶部代码


Posted in Javascript onMarch 18, 2014

 在线DEMO:传送门

HTML代码(放在页面任意位置,并用CSS美化):

<p id="back-to-top"><a href="#top"><span></span>回到顶部</a></p>

JS代码:

<script type="text/javascript" src="js/jquery-1.7.2.min.js">
</script>
<script type="text/javascript">
  $(document).ready(function() {
    //首先将#back-to-top隐藏
    $("#back-to-top").hide();
    //当滚动条的位置处于距顶部100像素以下时,跳转链接出现,否则消失
    $(function() {
      $(window).scroll(function() {
        if ($(window).scrollTop() > 100) {
          $("#back-to-top").fadeIn(1500);
        } else {
          $("#back-to-top").fadeOut(1500);
        }
      });
      //当点击跳转链接后,回到页面顶部位置
      $("#back-to-top").click(function() {
        $('body,html').animate({
          scrollTop: 0
        },
        1000);
        return false;
      });
    });
  });
</script>

下面再来一个简单点的返回顶部的代码:

效果先看演示:http://demo.3water.com/js/2016/gotop/

完整代码:

<!DOCTYPE html>
<html>
<head>
<title>基于jquery的返回顶部效果</title>
<script type="text/javascript" src="http://img.3water.com/jslib/jquery/jquery.min.js"></script>
<style type="text/css">
#goTop{position:absolute;display:none;width:50px;height:48px;background:#fff url(//img.jbzj.com/file_images/article/201601/gotop.png) no-repeat 16px 15px;border:solid 1px #f9f9f8;border-radius:6px;box-shadow:0 1px 1px rgba(0, 0, 0, 0.2);cursor:pointer}
#goTop:hover{height:50px;background-position:16px 16px;box-shadow:0 1px 1px rgba(0, 0, 0, 0.3)}
</style>
</head>
<body>
<div style="height:2000px; text-align:center; padding-top:300px">想看到效果就需要拖动滚动条到下面,靠右下角的位置就可以看到</div>
<div id="goTop" class="goTop"></div>
<script type="text/javascript">
	$(window).scroll(function(){
		var sc=$(window).scrollTop();
		var rwidth=$(window).width()+$(document).scrollLeft();
		var rheight=$(window).height()+$(document).scrollTop();
		if(sc>0){
			$("#goTop").css("display","block");
			$("#goTop").css("left",(rwidth-80)+"px");
			$("#goTop").css("top",(rheight-120)+"px");
		}else{
			$("#goTop").css("display","none");
		}
	});
	$("#goTop").click(function(){
		$('body,html').animate({scrollTop:0},300);
	});
</script>
</body>
</html>
Javascript 相关文章推荐
JS 两个字符串时间的天数差计算
Aug 25 Javascript
jQuery替换字符串(实例代码)
Nov 13 Javascript
JavaScript中Math.SQRT2属性的使用详解
Jun 14 Javascript
Easyui 之 Treegrid 笔记
Apr 29 Javascript
JS实现简单的天数计算器完整实例
Apr 28 Javascript
javascript编程开发中取色器及封装$函数用法示例
Aug 09 Javascript
Angular2.0实现modal对话框的方法示例
Feb 18 Javascript
vue+webpack实现异步加载三种用法示例详解
Apr 24 Javascript
jQuery实现参数自定义的文字跑马灯效果
Aug 15 jQuery
解决vue2 在mounted函数无法获取prop中的变量问题
Nov 15 Javascript
小程序实现录音上传功能
Nov 22 Javascript
vue+element实现图片上传及裁剪功能
Jun 29 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
Mar 18 #Javascript
file控件选择上传文件确定后触发的js事件是哪个
Mar 17 #Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
Mar 17 #Javascript
javascript读取Xml文件做一个二级联动菜单示例
Mar 17 #Javascript
javascript的解析执行顺序在各个浏览器中的不同
Mar 17 #Javascript
jquery禁用右键单击功能屏蔽F5刷新
Mar 17 #Javascript
jquery自动将form表单封装成json的具体实现
Mar 17 #Javascript
You might like
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
php获取当前月与上个月月初及月末时间戳的方法
2016/12/05 PHP
jquery 最简单易用的表单验证插件
2010/02/27 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
JavaScript实现自动切换图片代码
2016/10/11 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
js时间控件只显示年月
2017/01/08 Javascript
js实现二级导航功能
2017/03/03 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
详解webpack 打包文件体积过大解决方案(code splitting)
2018/04/10 Javascript
微信开发之微信jssdk录音功能开发示例
2018/10/22 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
vue制作toast组件npm包示例代码
2020/10/29 Javascript
微信小程序 接入腾讯地图的两种写法
2021/01/12 Javascript
python定时检查启动某个exe程序适合检测exe是否挂了
2013/01/21 Python
谈谈如何手动释放Python的内存
2016/12/17 Python
Python+Wordpress制作小说站
2017/04/14 Python
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
python求质数的3种方法
2018/09/28 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
基于Python安装pyecharts所遇的问题及解决方法
2019/08/12 Python
详解pycharm连接不上mysql数据库的解决办法
2020/01/10 Python
启动一个线程是用run()还是start()
2016/12/25 面试题
幼儿园实习生辞职信
2014/01/20 职场文书
求职简历中自我评价
2014/01/28 职场文书
团员个人总结
2015/02/26 职场文书
2015年宣传部个人工作总结
2015/05/14 职场文书
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android
面试中老生常谈的MySQL问答集锦夯实基础
2022/03/13 MySQL