zoukankan      html  css  js  c++  java
  • 功能整合(一):滚动条的变相隐藏、js控制div的渐变显示、滚动条监听

    1、滚动条的变相隐藏

    思路:

    1.  把body的横向,纵向的超出部分隐藏,宽设置100%;高设置100%。就没有body的滚动条了,

    2.  然后把最外层的div的宽设置的比body的宽宽一点,把div的滚动条挤出去,并把div的横向超出部分隐藏掉,就可以实现没有滚动条也可以滚动的效果

     1 <html>
     2 <style>
     3     *{
     4         //边距清零
     5         margin: 0;
     6         padding: 0;
     7     }
     8     //隐藏body的滚动条(会没有滚动效果)
     9     .scroll{
    10         overflow-x: hidden;overflow-y: hidden;
    11     } 
    12       //将最外层div设置大于body的宽高,并且x轴超出部分隐藏,y方向滚动条在屏幕之外,可滚动
    13     .scroll-son{
    14         height:101%; 
    15         width:102%;
    16         overflow-x: hidden;
    17     }
    18 </style>
    19 <body style="height:100%;   100%;" class="scroll">
    20 
    21     <div style=" background: #ccc; margin: 0 auto;" class="scroll-son"> 
    22      <div style="background: white;" > 
    23         <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p> 
    24     </div>
    25     <div> 
    26         <p>2</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>2</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
    27     </div>
    28    </div>
    29 
    30 </body>
    31 </html>                  
    变相隐藏滚动条--示例

    2、js控制div的渐变显示

    思路:使用定时器调用方法,在方法中将透明度慢慢变小

     1 //页面加载完成
     2 window.onload = function(){
     3 //    定时器,没0.02秒执行一次,并有一个函数名
     4     setInterval(bb,20);
     5 //    一个值赋值给一个变量
     6     var val = 100;
     7 // 运行定时器的那个函数
     8     function bb(){
     9 //    判断那个变量大于等于0的时候就运行下面的方法
    10         if(val >= 0){
    11 //  找到要渐变的那个div
    12         var aa = document.getElementById('sj1_2');
    13 //变量的值 /100 的透明度输出到样式(opacit是透明度)
    14         aa.style.opacity = val/100;
    15 //每次这个变量都减减
    16         val--;
    17         }
    18     }
    19 };
    js控制div的渐变显示

    3、滚动条监听

    1.window.scrolltop;对网页滚动条进行操作

    2. var  divh = document.getElementById("da").scrollTop;  获取指定div的滚动条高度 ;配合定时器每多少秒获取一次;

     1 //每个页面的滚动条高度
     2 var sz = ["0","139", "769", "1399", "2029", "2659", "2999"];
     3 var k = 1;
     4 var scrollFunc = function (e) {
     5                 //"da"为最外层有滚动条的div(body滚动条已隐藏)
     6         var aa = document.getElementById("da");
     7         //找到隐藏的div赋值给dh1
     8         var dh1 = document.getElementById("kjdh");
     9         //隐藏div的左边文本文字的值
    10         var ycdiv1 = document.getElementById("mc");
    11         //    隐藏div的文本文字的class所有文本文字
    12         var ycdiv2 = document.getElementsByClassName("dh3_1_1_1_1");
    13         
    14             var e = e || window.event;
    15         if (e.detail > 0||e.keyCode==40) { //当滑轮向下滚动时     
    16             aa.scrollTo(0, sz[k]);   //滚动后到达的位置 0-x,sz[k]-y;
    17             if (k == 1) {
    18                 //          改变被隐藏掉的导航的颜色
    19                 dh1.style.background = "linear-gradient(#141414,#1A1A1A)";
    20                 //改变前面文本文字的颜色
    21                 ycdiv1.style.color = "#9D9D9D";
    22                 //改变所有文本文字的颜色
    23                 for (var i = 0; i < ycdiv2.length; i++) {
    24                     ycdiv2[i].style.color = "#4C4C4C";
    25                 }
    26             } //2-4一样
    27                         else if (k == 5) {
    28                 //         改变被隐藏掉的导航的颜色
    29                 dh1.style.background = "linear-gradient(#141414,#1A1A1A)";
    30                 //改变前面文本文字的颜色
    31                 ycdiv1.style.color = "#9D9D9D";
    32                 //改变所有文本文字的颜色
    33                 for (var o = 0; o < ycdiv2.length; o++) {
    34                     ycdiv2[o].style.color = "#B2B2B2";
    35                 }
    36             }
    37             //                数值++
    38             k++;
    39             if (k >= 6) {
    40                 k = 6;
    41             }
    42             console.log("向下:"+k);
    43         }
    44         if (e.detail < 0||e.keyCode==38) {            
    45             //当滑轮向上滚动时 
    46             aa.scrollTo(0, sz[k]);
    47                         if (k == 1) {
    48                 //          改变被隐藏掉的导航的颜色
    49                 dh1.style.background = "linear-gradient(#141414,#1A1A1A)";
    50                 //改变前面文本文字的颜色
    51                 ycdiv1.style.color = "#9D9D9D";
    52                 //改变所有文本文字的颜色
    53                 for (var i = 0; i < ycdiv2.length; i++) {
    54                     ycdiv2[i].style.color = "#4C4C4C";
    55                 }
    56             } //2-4一样,手动删除
    57                         else if (k == 5) {
    58                 //         改变被隐藏掉的导航的颜色
    59                 dh1.style.background = "linear-gradient(#141414,#1A1A1A)";
    60                 //改变前面文本文字的颜色
    61                 ycdiv1.style.color = "#9D9D9D";
    62                 //改变所有文本文字的颜色
    63                 for (var o = 0; o < ycdiv2.length; o++) {
    64                     ycdiv2[o].style.color = "#B2B2B2";
    65                 }
    66             } 
    67             k--;
    68             if (k < 0 ) {
    69                 k = 0;
    70             }
    71             console.log("向上:"+k);
    72         }
    73     }
    74     //firefox  
    75 document.addEventListener('DOMMouseScroll', scrollFunc, false);
    76 document.addEventListener('keydown', scrollFunc, false);                                                               
    通过滚动条监听和键盘监听控制页面的滑动定位(只显示当前页面)
  • 相关阅读:
    关于git 拉取的时候一直弹输入密码的问题
    开始日期结束日期check问题
    关于boostrap 排版问题
    【DP_树形DP专题】题单总结
    【DP_背包专题】 背包九讲
    Ubuntu不卸载ibus前提下安装搜狗输入法
    Ubuntu下Java环境配置
    Ubuntu下gcc及g++环境配置
    Ubuntu下VIM(GVIM)环境配置
    PAT 1065 A+B and C (64bit) (20)
  • 原文地址:https://www.cnblogs.com/flypea93/p/8832480.html
Copyright © 2011-2022 走看看