空空裤兜 空空裤兜
  • 首页
  • 分类目录
    • 博客建设
    • 兜兜转转
    • 每月一帖
    • 技术存档
  • 留言
  • 豆瓣
  • 人气文章排行榜
  • 热门标签
  • 博客大事记
  • 开往
首页 › 技术存档 › CSS3形式返回顶部 › 评论页 2

CSS3形式返回顶部

空空裤兜
12 年前

返回顶部按钮很多站都有,实现方法也很简单,这次分享一个效果不太一样的:图标采用CSS3形式,页面返回时会有弹簧效果。效果来源于给力壁纸的作者博客。

哎,嘴笨,大家看看本页面的效果就明白啦。图标颜色淡,拉到最底就可以明显看到了。

同样,先上CSS:

以下代码贴到style.css中

/* back top */

#back-to-top {
    position: fixed;
    display: block;
    width: 48px;
    height: 48px;
    right: 30px;
    bottom: 30px;
    background: white;
    border-radius: 24px;
    cursor: pointer;
    opacity: 0.6;
}

#back-to-top:hover {
    opacity: 1;
}

#back-to-top:hover #rocket path {
    fill:#94d1ff;
}

#back-to-top #rocket {
    margin: 8px auto;
    display: block;
    opacity: 0.
}

#back-to-top.hidden {
    opacity: 0;
}

接着JS:

下面的代码贴到footer或者header都行

<div id="back-to-top" class="hidden">
    	<svg id="rocket" version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewbox="0 0 64 64">
            <path fill="#CCCCCC" d="M42.057,37.732c0,0,4.139-25.58-9.78-36.207c-0.307-0.233-0.573-0.322-0.802-0.329
            	c-0.227,0.002-0.493,0.083-0.796,0.311c-13.676,10.31-8.95,35.992-8.95,35.992c-10.18,8-7.703,9.151-1.894,23.262
            	c1.108,2.693,3.048,2.06,3.926,0.115c0.877-1.943,2.815-6.232,2.815-6.232l11.029,0.128c0,0,2.035,4.334,2.959,6.298
            	c0.922,1.965,2.877,2.644,3.924-0.024C49.974,47.064,52.423,45.969,42.057,37.732z M31.726,23.155
            	c-2.546-0.03-4.633-2.118-4.664-4.665c-0.029-2.547,2.012-4.587,4.559-4.558c2.546,0.029,4.634,2.117,4.663,4.664
            	C36.314,21.143,34.272,23.184,31.726,23.155z"/>
        </svg></div>
<script type="text/javascript">var isMobile = ( navigator.userAgent.indexOf('iPhone') != -1 || navigator.userAgent.indexOf('Android') != -1 );
(function($){var h=$.scrollTo=function(a,b,c){$(window).scrollTo(a,b,c)};h.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1,limit:true};h.window=function(a){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var a=this,isWin=!a.nodeName||$.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)return a;var b=(a.contentWindow||a).document||a.ownerDocument||a;return/webkit/i.test(navigator.userAgent)||b.compatMode=='BackCompat'?b.body:b.documentElement})};$.fn.scrollTo=function(e,f,g){if(typeof f=='object'){g=f;f=0}if(typeof g=='function')g={onAfter:g};if(e=='max')e=9e9;g=$.extend({},h.defaults,g);f=f||g.duration;g.queue=g.queue&&g.axis.length>1;if(g.queue)f/=2;g.offset=both(g.offset);g.over=both(g.over);return this._scrollable().each(function(){if(e==null)return;var d=this,$elem=$(d),targ=e,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=)?d+(.d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=$(targ,this);if(!targ.length)return;case'object':if(targ.is||targ.style)toff=(targ=$(targ)).offset()}$.each(g.axis.split(''),function(i,a){var b=a=='x'?'Left':'Top',pos=b.toLowerCase(),key='scroll'+b,old=d[key],max=h.max(d,a);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(g.margin){attr[key]-=parseInt(targ.css('margin'+b))||0;attr[key]-=parseInt(targ.css('border'+b+'Width'))||0}attr[key]+=g.offset[pos]||0;if(g.over[pos])attr[key]+=targ[a=='x'?'width':'height']()*g.over[pos]}else{var c=targ[pos];attr[key]=c.slice&&c.slice(-1)=='%'?parseFloat(c)/100*max:c}if(g.limit&&/^d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&g.queue){if(old!=attr[key])animate(g.onAfterFirst);delete attr[key]}});animate(g.onAfter);function animate(a){$elem.animate(attr,f,g.easing,a&&function(){a.call(this,e,g)})}}).end()};h.max=function(a,b){var c=b=='x'?'Width':'Height',scroll='scroll'+c;if(!$(a).is('html,body'))return a[scroll]-$(a)[c.toLowerCase()]();var d='client'+c,html=a.ownerDocument.documentElement,body=a.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[d],body[d])};function both(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
$(function($){
    var backToTopItem = $("#back-to-top");

    backToTopItem.click(function(){
        $.scrollTo(0,2500,{easing:'easeOutBounce'});
        return false;
    });

    $(window).scroll(function(){
        if($(window).scrollTop()>600){
            backToTopItem.removeClass("hidden");
        } else {
            backToTopItem.addClass("hidden");
        }
    });

    if(isMobile){
        backToTopItem.hide();
    }
});
</script>

好啦,教程到此结束。

求懂CSS3的大神帮着改改图标颜色吧。

wordpress代码
36
34
鼠标点击特效tunneler
上一篇
通过DenyHosts阻止SSH暴力攻击教程
下一篇

评论 (34)

取消
  • 红色石头

    这个写了这么多js,css代码,增加了下载速度,不划算,使用js就两三行就搞定,减少很多代码量~~~你可以看我的博客~

    12 年前 回复
    • 空空裤兜

      @红色石头 @红色石头: 也就是没有图片文件 尝尝CSS3的鲜

      12 年前 回复
    • 红色石头

      @空空裤兜 @空空裤兜: 嗯嗯,那也是~~~

      12 年前 回复
  • 露兜

    为了这么个小功能,需要这么多JS代码,有点不值。

    11 年前 回复
    • 空空裤兜

      @露兜 当时为了花哨折腾的

      11 年前 回复
  • 从良未遂

    这种东西够用就好

    10 年前 回复

猜你喜欢

  • PVE和NAS共享一台UPS停电自动关机
  • 宝塔无法启动fail2ban解决方法
  • 小主机:从折腾到放弃
  • 我的2023
  • 添加CDN

空空裤兜

和过去过不去,跟未来合不来。
254
文章
1K
评论
387
获赞

随缘推荐

小主机:从折腾到放弃
折腾,go on
2024-02
折腾蜗牛星际
差生文具多

修改Linux Vps主机名

13
2013 / 05

专题展示

使用msmtp进行邮件通知
2 年前
修改底部公告栏
14 年前
win8的备份和还原
11 年前
CentOS如何发送邮件
13 年前
重建DELL Recovery分区(win7)的出厂状态
14 年前
Copyright © 2010-2025 空空裤兜. Designed by nicetheme.
  • 首页
  • 分类目录
    • 博客建设
    • 兜兜转转
    • 每月一帖
    • 技术存档
  • 留言
  • 豆瓣
  • 人气文章排行榜
  • 热门标签
  • 博客大事记
  • 开往