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


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. lua元表与元方法

    lua中提供的元表(metatable)与元方法(metamethod)是一种非常重要的语法,metatable主要用于做一些类似于C++重载操作符式的功能. lua中提供的元表是用于帮助lua变量完 ...

  2. 【emWin】例程三:显示方向的切换

    实验指导书及代码包下载: http://pan.baidu.com/s/1pK9o0xP

  3. js日历选择控件

    mydate97: http://www.my97.net/dp/demo/index.htm

  4. 《UML大战需求分析》阅读笔记04

    在学习了前面的几种UML图并不能满足所有情况的建模,如当流程图涉及到多种角色,并且通过对多种角色交互展开时,顺序图才是不二选择.顺序图就如同中文语法的说话语言相似,描述的是一种事件发生的顺序.顺序图分 ...

  5. JS脚本收藏(一些实用的函数)

    一.共享onload事件 这个函数的名字是addLoadEvent,它是由Simon Willison 编写的.它只有一个参数:打算在页面加载完毕时执行的函数的名字. 下面是addLoadEvent函 ...

  6. Java 枚举7常见种用法

    DK1.5引入了新的类型--枚举.在 Java 中它虽然算个"小"功能,却给我的开发带来了"大"方便. 用法一:常量 在JDK1.5 之前,我们定义常量都是:  ...

  7. rabbitmq之back queue草稿

    申请队列rabbit_reader在收到消息后处理数据帧时,如果channel id不是0(0代表连接),则认为是channel相关方法. handle_frame(Type, Channel, Pa ...

  8. js保留两位小数

    js保留两位小数四舍五入: (Math.floor(until_price*100)/100).toFixed(2);//会四舍五入   保留两位小数 且不四舍五入(三种方式,请用最后一种): var ...

  9. Spring Data JPA

    转自: http://www.cnblogs.com/WangJinYang/p/4257383.html Spring 框架对 JPA 的支持 Spring 框架对 JPA 提供的支持主要体现在如下 ...

  10. Servlet的历史与规范

    http://blog.csdn.net/u010297957/article/details/51498018