zoukankan      html  css  js  c++  java
  • 去把bilibili的返回顶点锚点扒了下来

    今天闲来无事看着刷着bilibili对那锚点标记觊觎已久,下决心将其收为己用,遂动手.

    个人主推Firefox+firebug查看网页代码.我用的是夜壶(nightly),就火狐的每日更新版(建议不用,有时一日三更重启非常蛋疼).

    网页代码,css和图片容易弄,哪里想要点哪里,左边是代码,右边是css和其他,背景图的话,右键路径在新页面打开保存就行.

    主要是绑定的javascript事件麻烦.楼主一开始傻BB就对着那个锚点的divid找啊找,找到了一些但死活找不到事件.后来firebug会用了就简单多了.点击标签绑定的是goTop函数,在firebug的控制栏里输入"goTop",然后点"RUN",那个函数就会出现了,找到之后还可以右键美化源代码,方便复制过去.输"goTop()"的话是执行.不一样的.

    bilibili的锚点是挺有趣的, 首先其位置设置的不错,会根据元素在当前视口的相对偏移设置,其次是它让人流氓滚,在点了页面开始调用函数之后一旦你往下滚轮它还是会用生命滚到页首,直到完全触顶为止.

     1 <html xmlns="http://www.w3.org/1999/xhtml">

     2 <head>
     3     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     4     <title></title>
     5     <script src="../Scripts/jquery-1.10.2.min.js"></script>
     6     <script>
     7         $(function () {
     8             $('body').append('<div id="gotop" onclick="goTop();"></div>');
     9             $(window).scroll(function () {
    10                 300 < $(this).scrollTop() ?
    11                 ($('#gotop').show(),
    12                 $('#gotop').css('left', $('.z').offset().left + $('.z').width() + 20),
    13                 $('#gotop').css('top', $(window).height() - 300))
    14                 : $('#gotop').hide()
    15             });
    16             $(window).resize(function () {
    17                 $('#gotop').css('left', $('.z').offset().left + $('.z').width() + 20)
    18             })
    19         });
    20         function goTop(u, t, r) {
    21             var scrollActivate = !0;
    22             if (scrollActivate) {
    23                 u = u || 0.1;
    24                 t = t || 16;
    25                 var s = 0,
    26                 q = 0,
    27                 o = 0,
    28                 p = 0,
    29                 n = 0,
    30                 j = 0;
    31                 document.documentElement && (s = document.documentElement.scrollLeft || 0, q = document.documentElement.scrollTop || 0);
    32                 document.body && (o = document.body.scrollLeft || 0, p = document.body.scrollTop || 0);
    33                 n = window.scrollX || 0;
    34                 j = window.scrollY || 0;
    35                 s = Math.max(s, Math.max(o, n));
    36                 q = Math.max(q, Math.max(p, j));
    37                 p = 1 + u;
    38                 window.scrollTo(Math.floor(s / p), Math.floor(q / p));
    39                 0 < s || 0 < q ? window.setTimeout('goTop(' + u + ', ' + t + ')', t) : 'undefined' != typeof r && r()
    40             } else {
    41                 scrollActivate = !0
    42             }
    43         }
    44     </script>
    45     <style>
    46         #gotop:hover {
    47             background-position: 0px -116px;
    48         }
    49 
    50         #gotop {
    51             width: 29px;
    52             height: 106px;
    53             position: fixed;
    54             display: none;
    55             cursor: pointer;
    56             background: url('go_to_top.png') no-repeat scroll 0px 0px transparent;
    57         }
    58     </style>
    59 </head>
    60 <body>
    61     <div class="z" style="border: 1px dashed; height: 2999px;  977px; margin: 0 auto;">
    62     </div>
    63 </body>

    64 </html> 

     http://static.hdslb.com/images/v2images/go_to_top.png

     

  • 相关阅读:
    Query实例的ajax应用之二级联动的后台是采用php来做的
    关于jquery的css的一些知识
    这个代码给所有带有name属性的链接加了一个背景色
    jQuery生成一个DIV容器,ID是"rating".
    被included或者被required的文件都来自哪里呢
    msql_createdb: 建立一个新的 mSQL 数据库。
    php中调用这个功能可以在web页面中显示hello world这个经典单词
    啦啦啦测试心得
    maven命令
    robotframework使用
  • 原文地址:https://www.cnblogs.com/zeusro/p/3705426.html
Copyright © 2011-2022 走看看