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


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. 如何完全卸载oracle11g?

    步骤一: 停止Oracle的所有服务. 步骤二: 运行%oracle_home%\app\Administrator\product\11.2.0\dbhome_1\deinstall \deinst ...

  2. DS实验题 融合软泥怪-1

    题目 思路 很容易想到第一种做法,用Huffman算法,从森林中找出两个值最小的节点,合并再加入森林,在这个过程中不断记录. 但是每一次需要sort一遍,将最小的两个值节点置于头两个节点,最坏情况下复 ...

  3. MyBatis快速入门

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  4. c# TimeSpan

    转自:http://blog.163.com/y_p_xu/blog/static/17085710220116472030543/ /// <summary>        /// 将时 ...

  5. 【Git学习笔记】初始化Git仓库和版本回退

    学习地址 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 什么是版本库呢?版本库又 ...

  6. Android中 Bitmap和Drawable相互转换的方法

    1.Drawable->Bitmap Resources res=getResources(); Bitmap bmp=BitmapFactory.decodeResource(res, R.d ...

  7. vert.x学习(二),使用Router来定义用户访问路径

    这里需要用到vertx-web依赖了,依然是在pom.xml里面导入 <?xml version="1.0" encoding="UTF-8"?> ...

  8. smarty中使用truncate出现乱码,用mb_substr解决

  9. Resharper 8.2 注册码

    用户名:ronle注册码:ZoJzmeVBoAv9Sskw76emgksMMFiLn4NM

  10. c# json TO xml

    using System.IO;using System.Text;using System.Xml.Serialization;using System.Xml;using System.Runti ...