简述一下,分为三个步骤:


1. 添加Html代码

2. 调整Css样式

3. 添加Jquery代码

具体代码如下:


<style type="text/css">
  #GoTop{
                width:40px;
                height:40px;
                background-color:#F59E1D;
                position:fixed;
                bottom:30px;
                right:30px;
                font-size:19pt;
                text-align:center;
                color:#FFF;
                text-decoration:none;
            }
</style>

<div>
  <a id="GoTop" onclick="GoTopFunction()" href="javascript:void(0)">∧</a>
</div>

<script type="text/javascript">
            $(document).ready(function(){
                $("#GoTop").mouseenter(
                    function(){
                        $("#GoTop").css("color","#FFF");
                        $("#GoTop").css("background-color","#F3D117");
                        $("#GoTop").css("text-decoration","none");
                    }
                );
                $("#GoTop").mouseleave(
                    function(){
                        $("#GoTop").css("color","#FFF");
                        $("#GoTop").css("background-color","#F59E1D");
                        $("#GoTop").css("text-decoration","none");
                    }
                );
            });

    var sth;
            function GoTopFunction(){
                FourLeafCloverZCVar=setInterval(GoTopFunctionEachScrollBy,10);    
            }

function GoTopFunctionEachScrollBy(eachHeight){

//判断是否存在以下两个实例
                if(document.documentElement && document.documentElement.scrollTop)
                {
                    if(document.documentElement.scrollTop<=0){
                        clearInterval(sth);
                    }else{
                        window.scrollBy(0,-25);
                    }
                }else{                                                           
                    if(document.body.scrollTop<=0){
                        clearInterval(sth);
                    }else{
                        window.scrollBy(0,-25);
                    }
                }
            }
</script>

值得注意:


1. <a>标签中的javascript:void(0),平常见到的是href="#",而这不是,这里的意思大概可以理解不设置任何操作,即页面置顶后无需自动刷新界面。

2. 鼠标滑过事件:用mouseenter、mouseover还是mousemove?

hover是指分别当鼠标指针进入和离开元素时被执行的事件相当于mouseenter+mouseleave。
mouseover鼠标进入某个元素或其子元素时触发。

mousemove如你所说只要鼠标移动,哪怕只有1像素就会触发。
因为用户在浏览网页的过程中,鼠标是会不停移动的,所以一旦绑定这个事件,网页就会不停的执行mousemove所绑定的响应函数,消耗系统资源,这里的系统资源是指客户端的。

(可参考mouseover和mouseenter的区别:http://www.w3school.com.cn/tiy/t.asp?f=jquery_event_mouseenter_mouseover
3. document.documentElement.scrollTop 具体解释可以看这里:http://blog.csdn.net/huang100qi/article/details/5950894

自定义置顶TOP按钮的更多相关文章

  1. Android自定义ScrollView实现一键置顶功能

    效果图如下: (ps:动态图有太大了,上传不了,就给大家口述一下要实现的功能吧) 要实现的功能:当ScrollView向上滑动超过一定距离后,就渐变的出现一个置顶的按钮,当滑动距离小于我们指定的距离时 ...

  2. QQ好友列表向左滑动出现置顶、删除--第三方开源--SwipeMenuListView

    SwipeMenuListView是在github上的第三方开源项目,该项目在github上的链接地址是:https://github.com/baoyongzhang/SwipeMenuListVi ...

  3. jQuery操作table数据上移、下移和置顶

    jQuery 操作table中的tr换行的步骤如下: 1.获取当前tr var $tr = $(this).parents("tr"); 2.移动tr //上移 $tr.prev( ...

  4. 微信小程序 置顶/取消置顶

    wxml <view wx:for="{{confirmlist}}" wx:for-item="confirm" wx:for-index=" ...

  5. vue 通过自定义指令实现 置顶操作;

    项目需求:要求当前项目每个页面滑到超出一屏的距离时,出现 backTop 按钮,点击则回到最顶端:俗称置顶操作: 因为涉及到的页面较多,每个页面都加肯定显得重复累赘,最终想到了 Vue 的自定义指令  ...

  6. Javascript笔记----实现Page页面右下角置顶按钮.

    从用博客开始,发现博客园中很多博友的博客中在Page右下角都有个图标,不论屏幕怎么拉伸,都始终停留在右下角.点击后页面置顶.后面想想写一个Demo来实现这种效果吧. 一. 图标右下角固定. 1.SS ...

  7. UITableView设置Cell左滑多个按钮(编辑,删除,置顶等)

    一.iOS7不支持cell多个按钮这个时候可以使用一个三方库JZTableViewRowAction,引用类扩展文件并实现其代理方法 JZTableViewRowAction下载地址:http://d ...

  8. Qt 窗口操作函数(置顶、全屏,最大化最小化按钮设置等)

    一.窗口置顶 与 取消置顶 void MainWindow::on_windowTopButton_clicked() { if (m_flags == NULL) { m_flags = windo ...

  9. [置顶] Silverlight之控件应用总结(一)(3)

    [置顶] Silverlight之控件应用总结(一)(3) 分类: 技术2012-04-02 20:35 2442人阅读 评论(1) 收藏 举报 silverlightradiobuttondatat ...

随机推荐

  1. centos关闭防火墙

    Centos7 关闭防火墙 CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下 1.直接关闭防火墙 systemctl stop firewalld.se ...

  2. 如何在移动设备上调试html5开发的网页

    在我们用phoengap+html5做的移动app中,经常遇到的问题就是 本地网页兼容但是到了app出现不兼容的情况,原因是手机端页面,大多运行在webkit内核的浏览器上,但还是会因平台.厂商的不同 ...

  3. 纯Java配置使用slf4j配置log4j

    工程目录如下 代码里面用的是slf4j,但是想要用log4j来管理日志,就得添加slf4j本来的jar,然后添加log4j和slf4j箱关联的jar即可. 如果是maven项目的话添加下面的依赖即可 ...

  4. openstack-keystone

    preparation: config: /etc/keystone/keystone.conf log: /var/log/keystone.log 1. change log level: vi ...

  5. 下载更新文件后,调用安装器自动安装apk文件

    在更新操作时,下载新apk之后,往往需要自动安装新apk,用以下代码即可安装下载在本地的apk文件(apkFile) Intent intent = new Intent(); intent.setA ...

  6. Python 中的枚举类型~转

    Python 中的枚举类型 摘要: 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期.月份.状态等. 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表 ...

  7. CSS基础1

    CSS是层叠样式表(Cascading Style Sheets)的缩写,它有以下优点:①提高页面浏览速度:②缩短改版时间,降低维护费用:③更好的控制页面布局:④实现表现和结构.内容相分离:⑤更方便搜 ...

  8. merge 本地 master 分支代码提示 “Already up-to-date”

    在使用 git 的过程中由于误操作,导致从本地 master 分支 merge 代码到当前分支失败,虽然当前分支和 master 分支代码不同步,但是仍然提示 Already up-to-date. ...

  9. macOS sierra 10.12 Cocoapods 私有库

    使用Cocoapods创建私有podspec 见文章:http://www.cocoachina.com/ios/20150228/11206.html 或http://blog.wtlucky.co ...

  10. java 默认修饰符

    public的类.类属变量及方法,包内及包外的任何类均可以访问:protected的类.类属变量及方法,包内的任何类,及包外的那些继承了此类的子类才能访问:private的类.类属变量及方法,包内包外 ...