用jquery实现小火箭到页面顶部的效果

恩,不知道之前在哪看过一个页面效果就是如果页面被滑动了就出现一个小火箭,点击这个小火箭就可以慢慢回到页面顶部,闲的没事,自己搞了一下

代码和布局都很简单

<!DOCTYPE HTML>
<html>
    <head>
        <style>
            #content{
                height: 2000px ;
                width: 960px ;
                margin: 0 auto ;
                background-color: blue ;
            }
            #rocket{
                width: 50px ;
                height: 50px ;
                position: fixed;
                right: 10px ;
                bottom: 10px ;
                display: none;
            }
            #rocket img{
                width: 100%;
                height: 100%;
            }
        </style>
        <script type="text/javascript" src="./js/jquery-1.11.3.min.js"></script>
    </head>
    <body>
        <div id="layout">
            <div id="content"></div>
            <div id="rocket"><img src="./img/rocket.png"></div>
        </div>
    </body>
    <script type="text/javascript">
        document.addEventListener("mousewheel",function(){
            if(document.body.scrollTop!=0)
            {
                $("body").stop();
                $(‘#rocket‘).unbind().bind(‘click‘,up);
                $("#rocket").css(‘display‘, ‘block‘);
            }
        },false) ;
        function up(){
            $("body").animate({scrollTop:"0"},2000,function(){
                $("#rocket").css(‘display‘, ‘none‘);
                $(‘#rocket‘).bind(‘click‘,up);
            });
            $(‘#rocket‘).unbind("click");
        }
    </script>
</html>

主要思路是这样的,利用position:fixed将我们的小火箭固定在屏幕的右下角,先把display设置成none来隐藏小火箭,因为页面在顶部的时候我们不需要它~

            #rocket{
                width: 50px ;
                height: 50px ;
                position: fixed;
                right: 10px ;
                bottom: 10px ;
                display: none;
            }

好的,然后我们来监听鼠标的滚动事件(mousewheel),添加一个判断如果页面不在顶部就使小火箭现形,并为其添加click事件。这里注意要把body的动画stop掉,因为如果在火箭上升的时候用户滑动滚轮就表明用户想停在那里,还有就是rocket的事件要先unbind在bind,不然会导致多次添加事件。

        document.addEventListener("mousewheel",function(){
            if(document.body.scrollTop!=0)
            {
                $("body").stop();
                $(‘#rocket‘).unbind().bind(‘click‘,up);
                $("#rocket").css(‘display‘, ‘block‘);
            }
        },false) ;

小火箭的点击事件是执行一个body的scrollTop属性的动画,因为body的crollTop就是我们的可视区域到页面顶部的距离。一开始执行我们就把它的click事件就unbind掉,不然点击又会执行,造成多次执行,还有就是在动画结束的回调函数中我们将小火箭再次隐藏并绑定点击事件。

        function up(){
            $("body").animate({scrollTop:"0"},2000,function(){
                $("#rocket").css(‘display‘, ‘none‘);
                $(‘#rocket‘).bind(‘click‘,up);
            });
            $(‘#rocket‘).unbind("click");
        }

大概就是这样,很简单吧~

时间: 2024-08-10 15:11:34

用jquery实现小火箭到页面顶部的效果的相关文章

Android简易实战教程--第十话《模仿腾讯手机助手小火箭发射详解》

之前对系统自带的土司的源码做了简要分析,见博客:点击打开链接 这一篇给一个小案例,自定义土司,模拟腾讯卫士的小火箭发射.如果想要迅速看懂代码,建议先去看一下上篇介绍点击打开链接 首先,定义一个服务,在这个服务里面,完成土司的创建(小火箭布局创建) 烟的效果属于动画播放,而且要依托一个activity.(这个activity要定义为透明状态) 定义烟的activity的布局文件 <?xml version="1.0" encoding="utf-8"?>

常用小Demo:用js/jQuery实现回到页面顶部功能

HTML代码: <div class="main">     Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ab amet debitis, dolore eveniet illo maiores nam neque nesciunt perspiciatis praesentium quaerat qui, quidem rem sequi similique sunt ullam voluptate 

jQuery火箭图标返回顶部代码

在网上找来段使用jQuery火箭图标返回顶部代码,感觉比较酷,比较炫,大概样式如下, 很酷炫哦! 如果第一次自定义博客园,需要申请权限 点击博客园的[管理] → [设置]→ 一直往下拉, 找到[博客侧边栏公告(支持HTML代码)(申请JS权限)] 向[email protected] 发送邮件, 为了尽快通过权限申请, 邮件模板如下: 尊敬的博客园管理员: 请问是否可以帮我开通js权限,我需要一些简单的js来解决问题,例如鼠标点击特效.代码高亮等外观调整. 谢谢您的支持! 如图: 申请成功后可以

js网页返回页面顶部的小方法

咳咳,在网页出现滚动条的时候,许多网站会在右下角出现一个图标,点击可以回到页面顶部 本文就记录下js实现代码: 1.在html页面body添加dom元素 <img src="toTop.png" class="gotop" > <div class="gotopdiv" style="display: none;"><span>返回顶部</span></div> 2.

给你的博客园增加背景,头像和top小火箭

个人头像 在博客侧边公告栏处添加下列代码 <img src="https://www.cnblogs.com/images/cnblogs_com/guomie/1464522/o_gz.jpg" alt="果咩的头像" class="img_avatar" width="250px" style="border-radius:50%"> 背景 在页面定制css代码处 添加下列代码 body {

26个Jquery使用小技巧

下面列出了一些Jquery使用技巧.比如有禁止右键点击.隐藏搜索文本框文字.在新窗口中打开链接.检测浏览器.预加载图片.页面样式切换.所有列等高.动态控制页面字体大小.获得鼠标指针的X值Y值.验证元素是否为空.替换元素.延迟加载.验证元素是否存在于Jquery集合中.使DIV可点击.克隆对象.使元素居中.计算元素个数.使用Google主机上的Jquery类库.禁用Jquery效果.解决Jquery类库与其他Javascript类库冲突问题. 1. 禁止右键点击 1 2 3 4 5 $(docum

网站点击导航栏标题,对应的元素平滑上移以及点击图片或按钮回到页面顶部的特效

之前看w3cshool上面,看到了a,name配合可以设置锚点,很多看书的网站上都用到,可以根据点击对应的目录章节,自动跳到具体的文字内容. 不过用锚点做的特效感觉很粗糙,不够平滑,总是一下子就跳到下面去了,没有给浏览者一种平滑的感觉.所以自己就计划着能不能做一种类似的比较平滑的效果呢? 当然是可以的.这篇博客中的特效要用到如下的函数和属性,大家没见过或者见过用过已经忘了的,可以到w3cshool上恶补下: eq(index):相当于数组吧,可以根据index索引到具体的对象 scrollTo(

26个Jquery使用小技巧 二

前段时间发布了Jquery类库1.4版本,使用者也越来越多,为了方便大家对Jquery的使用,下面列出了一些Jquery使用技巧.比如有禁止右键点击.隐藏搜索文本框文字.在新窗口中打开链接.检测浏览器.预加载图片.页面样式切换.所有列等高.动态控制页面字体大小.获得鼠标指针的X值Y值.验证元素是否为空.替换元素.延迟加载.验证元素是否存在于Jquery集合中.使DIV可点击.克隆对象.使元素居中.计算元素个数.使用Google主机上的Jquery类库.禁用Jquery效果.解决Jquery类库与

jQuery实现简单而且很酷的返回顶部链接效果

demo: html部分: <!doctype html> <html> <head> <meta charset="utf-8"> <meta name="description" content=""> <meta name="keywords" content=""> <title>返回页面顶部</title&g