转载自: 大发博客效果之返回顶部 (404)

jQuery(<script src="//cdn.bootcss.com/jquery/3.0.0/jquery.min.js"></script>)

首先确保您的主题开启了 jQuery, 然后把下面的代码加入到你的主题的 js 文件里

var bigfa_scroll = {
    drawCircle: function(id, percentage, color) {
        var width = jQuery(id).width();
        var height = jQuery(id).height();
        var radius = parseInt(width / 2.20);
        var position = width;
        var positionBy2 = position / 2;
        var bg = jQuery(id)[0];
        id = id.split("#");
        var ctx = bg.getContext("2d");
        var imd = null;
        var circ = Math.PI * 2;
        var quart = Math.PI / 2;
        ctx.clearRect(0, 0, width, height);
        ctx.beginPath();
        ctx.strokeStyle = color;
        ctx.lineCap = "square";
        ctx.closePath();
        ctx.fill();
        ctx.lineWidth = 3;
        imd = ctx.getImageData(0, 0, position, position);
        var draw = function(current, ctxPass) {
            ctxPass.putImageData(imd, 0, 0);
            ctxPass.beginPath();
            ctxPass.arc(positionBy2, positionBy2, radius, -(quart), ((circ) * current) - quart, false);
            ctxPass.stroke();
        }
        draw(percentage / 100, ctx);
    },
    backToTop: function($this) {
        $this.click(function() {
            jQuery("body,html").animate({
                scrollTop: 0
            },
            800);
            return false;
        });
    },
    scrollHook: function($this, color) {
        color = color ? color: "#000000";
        $this.scroll(function() {
            var docHeight = (jQuery(document).height() - jQuery(window).height()),
            $windowObj = $this,
            $per = jQuery(".per"),
            percentage = 0;
            defaultScroll = $windowObj.scrollTop();
            percentage = parseInt((defaultScroll / docHeight) * 100);
            var backToTop = jQuery("#backtoTop");
            if (backToTop.length > 0) {
                if ($windowObj.scrollTop() > 100) {
                    backToTop.addClass("button--show");
                } else {
                    backToTop.removeClass("button--show");
                }
                $per.attr("data-percent", percentage);
                bigfa_scroll.drawCircle("#backtoTopCanvas", percentage, color);
            }
        });
    }
}


jQuery(document).ready(function() {
    jQuery("body").append('<div id="backtoTop" data-action="gototop"><canvas id="backtoTopCanvas" width="48" height="48"></canvas><div class="per"></div></div>');
    var T = bigfa_scroll;
    T.backToTop(jQuery("#backtoTop"));
    T.scrollHook(jQuery(window), "#FF5E52");
});

CSS

body{font-family: "Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif;}
#backtoTop{background-color:#eee;border-radius:100%;bottom:10%;height:48px;position:fixed;right:-100px;width:48px;transition:0.5s;-webkit-transition:0.5s}
#backtoTop.button--show{right:10px}
.per{font-size:16px;height:48px;line-height:48px;position:absolute;text-align:center;top:0;width:48px;color:#555;cursor:pointer}
.per:before{content:attr(data-percent)}
/*.per:hover:before{content:"↑";font-size:20px}*/
.per:hover::before {content: "▲";font-size: 22px;line-height: 0;}

修改参数
圆环的颜色怎么修改? 修改

T.scrollHook(jQuery(window), "#cc0000");

里的 #cc0000 至对应的颜色代码.
还可以修改 hover 时的图标, 修改如下代码中的 ↑ 即可.

.per:hover:before{content:"↑";font-size:20px}

下载源码


1.ScrollUp是一个轻量级的 jQuery 插件,轻松实现了滚动页面的 “返回顶部” 的功能。
在线演示:demo1 demo2
Jquery plugin ScrollUp使用和实现介绍

<script src="//cdn.bootcss.com/jquery/2.2.0/jquery.min.js"></script>
<script src="//cdn.bootcss.com/scrollup/2.4.0/jquery.scrollUp.min.js"></script>
<script src="<?php $this->options->themeUrl('js/jquery.scrollUp.min.js'); ?>"></script>

<link href="//cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
<link href="//cdn.bootcss.com/bootstrap-material-design/0.3.0/css/material.min.css" rel="stylesheet">

2.jQuery.toTop是一款轻量级的 jQuery 返回顶部插件,压缩后不到 1KB。同时它也是可定制的,你可以设置是否自动隐藏、滚动时间、位置等等。demo

3.Elevator.js通过在返回时添加音乐,使网页在返回顶部过程中犹如电梯向上运行,到达顶部后,有“到达”的提示音。
摘要说明:
Elevator.js是一个独立的轻量级JS插件,无需JQuery等支持,所以使用起来是非常简单的,只需引入Elevator.js一个文件即可,元素的所有样式均可自行定义。此插件只针对于音频和滚动功能。 demo1或者demo2

4.typecho增加上下滑动
教程开始
4.1,新建一个名叫slide.js的文件,内容是

jQuery(document).ready(function($){
var s= $('#shangxia').offset().top;$(window).scroll(function (){$("#shangxia").animate({top : $(window).scrollTop() + s + "px" },{queue:false,duration:500});});
$body = (window.opera) ? (document.compatMode == "CSS1Compat" ? $('html') : $('body')) : $('html,body');
$('#shang').click(function(){$body.animate({scrollTop: '0px'}, 400);});
$('#comt').click(function(){$body.animate({scrollTop:$('#comments').offset().top}, 800);});
$('#xia').click(function(){$body.animate({scrollTop:$('#footer').offset().top}, 800);});
});

把slide.js上传至/usr/plugin/你主题文件夹/js文件夹下面。 注意,在你的模板中有footer,comments这几个id,要不起不了作用。
4.2.把图片传到/usr/plugin/你主题文件夹/img下面,
有的可能是images,一样,就是下面改下css, 图片就是这个
slide
注意,图片名叫slide.png
4.3.修改style.css
在最下面添加这几行

/** shangxia */
#shangxia { display: block; position: absolute; top: 79%; right: 4%; }
#shang, #comt, #xia{ position: relative; width: 29px; height: 25px; margin: 10px 0 0; background: url(img/slide.png) no-repeat; cursor: pointer; }
#comt { height: 32px; background-position: center -30px; }
#xia { background-position: center -68px; } 如果图片文件夹是images的话,
#shang, #comt, #xia{ position: relative; width: 29px; height: 25px; margin: 10px 0 0; background: url(img/slide.png) no-repeat; cursor: pointer; }

把红色的字改成images/slide.png就好了。
4.4.修改footer.php
在前面添加这几刚代码

<div id="shangxia"><div id="shang"></div><div id="comt"></div><div id="xia"></div></div>
<script type="text/javascript" src="<?php $this->options->themeUrl('js/slide.js'); ?>"></script>
<?php $this->footer(); ?>

修改完成。

5.为WordPress添加返回顶部按钮
CSS

/*返回顶部样式*/
      #gotop{
        width:54px;
        height:54px;
        position:fixed;
        bottom:60px;
        right:30px;
        top:auto;
        display:block;
        cursor:pointer;
        background: url(/images/to-top.png) no-repeat
      }
      *html #gotop{
        position:absolute;
        bottom:auto;
      }

在footer添加

<!-- 返回顶部 -->    
    <div style="display: none;" id="gotop"></div>
    <script type='text/javascript'>
        backTop=function (btnId){
            var btn=document.getElementById(btnId);
            var d=document.documentElement;
            var b=document.body;
            window.onscroll=set;
            btn.onclick=function (){
            btn.style.display="none";
            window.onscroll=null;
            this.timer=setInterval(function(){
                d.scrollTop-=Math.ceil((d.scrollTop+b.scrollTop)*0.1);
                b.scrollTop-=Math.ceil((d.scrollTop+b.scrollTop)*0.1);
                if((d.scrollTop+b.scrollTop)==0) clearInterval(btn.timer,window.onscroll=set);
            },10);
        };
        function set(){btn.style.display=(d.scrollTop+b.scrollTop>100)?'block':"none"}
        };
        backTop('gotop');
    </script>
    <!--end 返回顶部 -->

jQuery.toTop使用方法

1、引入文件

<script src="jsjquery.min.js"></script>
<script src="js/jquery.toTop.min.js"></script>

2、HTML

<a class="to-top">返回顶部</a>

3、JavaScript

$('.to-top').toTop();

配置

属性/方法 类型 默认值 说明
autohide 布尔值 true 自动隐藏
offset 整数 420 距离顶部多少距离时自动隐藏按钮
speed 整数 500 滚动持续时间
position 布尔值 true 如果设置为 false,则需要手动在 css 中设置“按钮”的位置
right 整数 15 右侧距离
bottom 整数 30 底部距离

A

一、首先将下面的代码添加到主题目录的style.css样式表中,当然也可以根据自己的风格进行修改:

/*返回顶部样式*/
#gotop{
    width:38px;
    height:36px;
    position:fixed;
    bottom:25px;
    right:10px;
    top:auto;
    display:block;
    cursor:pointer;
    background: url(myimages/top.gif) no-repeat
}
 
*html #gotop{
    position:absolute;
    bottom:auto; top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));
}
/*返回顶部样式结束*/

二、将下面的代码添加到主题目录的footer.php中进行调用:

<!-- 返回顶部 -->
<div style="display: none;" id="gotop"></div>
<script type='text/javascript'>
    backTop=function (btnId){
        var btn=document.getElementById(btnId);
        var d=document.documentElement;
        var b=document.body;
        window.onscroll=set;
        btn.onclick=function (){
            btn.style.display="none";
            window.onscroll=null;
            this.timer=setInterval(function(){
                d.scrollTop-=Math.ceil((d.scrollTop+b.scrollTop)*0.1);
                b.scrollTop-=Math.ceil((d.scrollTop+b.scrollTop)*0.1);
                if((d.scrollTop+b.scrollTop)==0) clearInterval(btn.timer,window.onscroll=set);
            },10);
        };
        function set(){btn.style.display=(d.scrollTop+b.scrollTop>100)?'block':"none"}
    };
    backTop('gotop');
</script>
<!-- 返回顶部END -->

三、将下面的图片放在主题目录的myimages文件夹下,并且图片的名字为top.gif,也可以在步骤1的第11行代码修改路径和名字。
top

B:

在footer部分添加:

<script type="text/javascript">
  $(function(){
    $('#ad-carousel').carousel();
    $('#menu-nav.navbar-collapse a').click(funtion(e){
      var href=$(this).attr('href');
      var tabId=$(this).attr('data-tab');
      if ('#'!==href) {
        e.preventDefault();
        $(document).scrollTop($(href).offset().top-70);
        if (tabId) {
          $('#feature-tab a[href=#'+tabId+']').tab('show');
        };
      };
    })
  })
</script>

在具体的地方引用

<a href="#"><font color="white">gototop</font></a>

C

https://ciyuanai.net/archives/23.html

D

<!DOCTYPE html>
<html>
<head>
<script>
function scrollWindow()
{
window.scrollTo(0, 0);

}
</script>
</head>
<body>


<p>SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL</p>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<p>SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL</p>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<p>SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL</p>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<p>SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL</p>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<p>SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL</p>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<p>SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL</p>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<p>SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL</p>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<p>SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL SCROLL</p>
<br>
<br>
<br>
<br>
<br>
    <input type="button" onclick="scrollWindow()" value="Scroll" />
<br>
<br>
<br>

</body>
</html>



相关:Scroll to Top Button

http://stackoverflow.com/questions/1144805/how-do-i-scroll-to-the-top-of-the-page-with-jquery
http://www.w3cplus.com/jquery/scrolling-to-the-top-with-jquery

标签:返回顶部

你的评论