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

CSS3形式返回顶部

空空裤兜
13 年前

返回顶部按钮很多站都有,实现方法也很简单,这次分享一个效果不太一样的:图标采用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就两三行就搞定,减少很多代码量~~~你可以看我的博客~

    13 年前 回复
    • 空空裤兜

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

      13 年前 回复
    • 红色石头

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

      13 年前 回复
  • 露兜

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

    12 年前 回复
    • 空空裤兜

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

      12 年前 回复
  • 从良未遂

    这种东西够用就好

    11 年前 回复

猜你喜欢

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

空空裤兜

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

随缘推荐

一语惊醒植物人(8)
你不是1986和1987,你不懂的
中国式熊孩子
重回linode
2012年的第一场雪

专题展示

修改Linux Vps主机名
13 年前
重建DELL Recovery分区(win7)的出厂状态
15 年前
评论显示实时头像
15 年前
备份还原记
11 年前
2020-09
6 年前
Copyright © 2010-2026 空空裤兜. Designed by nicetheme.
  • 首页
  • 分类目录
    • 博客建设
    • 兜兜转转
    • 每月一帖
    • 技术存档
  • 留言
  • 人气文章排行榜
  • 热门标签
  • 博客大事记
  • 开往