split(分割字符串),网页访问,history历史记录,js指令滚动,页面过大被盖住距离的获取

split(分割字符串)

会改变原数组

        返回值:分割好的字符串组成的 数组 !!: 苏轼|辛弃疾|李商隐 =》[苏轼,辛弃疾,李商隐]
 split(separator,howmany)

separator:必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。

howmany: 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

返回值

  <script>
    var str = "How|are|you|doing|today?"
    var add = (str.split("|"));
    console.log(add); // ["How", "are", "you", "doing", "today?"]
    console.log(str.split("|", 3)) // ["How", "are", "you"]
</script>

我们可以这样分割

"2:3:4:5".split(":")	//将返回["2", "3", "4", "5"]  

还可以分割成单词

"hello".split("")	//可返回 ["h", "e", "l", "l", "o"]

解析查询字符
1.“”
2.?name=zhangsan&age=18
步骤:
1.需要准备一个函数进行解析,这个函数还需要一个参数。
参数:要解析的字符串
2.开始解析
1.判断如果为空字符串,直接返回 空对象。
2.如果不是空字符串,解析字符串,并将结果放入对象中。
(1)截取掉第一个字符。
(2)剩余字符按照&进行分割,得到一个数组。
(3)遍历数组,得到 “属性名=属性值”这样格式的字符串。
(4)对每一个字符串,按照=分割,得到一个属性和属性值组成的数组。
(5)将属性名和属性值赋值给对象 //obj[t[0]]=t[1];
(6)返回对象。

Bom操作浏览器部分功能的

location对象: 里面存储了和网页地址所有内容有关的信息。

https://baike.baidu.com/item/%E9%A9%AC%E4%BF%9D%E5%9B%BD/50106525?fr=aladdin#2_1
在这里插入图片描述

http https 传输协议

www.baidu.com 域名

?fr=aladdin 查询字符

#2_1 hash(锚点定位)

location对象:
里面存储了和网页地址所有内容有关的信息。
属性:
href:地址信息。
跳转页面:location.href = “XXX”;

 location.href = "https://www.pay.qq.com";

search:查询字符串 一般是用于传输数据,需要进行解析。

【注意】location.href需要等页面加载完后再调用。

方法:
assign():改变浏览器地址栏中的地址,并记录到历史中。
【注意】设置location.href 就会调用assign方法(当访问href后就会有历史记录)
replace() 替换浏览器地址栏中的地址。(替换后不能后退)
reload() 重新加载 F5
reload(true) 强制加载,不适用缓存。

<script>
        window.onload = function() {
            btn.onclick = function() {
                //当点击刷新时进入这个网站
               // location.href = "https://www.baidu.com";
                // location.assign("https://www.baidu.com");
                // location.replace("https://www.baidu.com");//不能后退
                //这三个以及a标签都能访问地址,区别location.replace不能后退


                // location.reload();刷新当前页面
            }
        }
    </script>
</head>

<body>
    <button id="btn">刷新</button>
    <a href="https://www.baidu.com">刷新</a>
</body>

例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        window.οnlοad=function(){
            setInterval(href2,2000);//当页面加载后两秒后调用这个函数
        }
        function  href2(){
            location.href = "https://www.pay.qq.com";
        }
    </script>
</head>
<body>
    2秒后跳转到支付页面
</body>
</html>

navigator:获取浏览器客户端的一些信息。(没啥用)

 <script>
     console.log(navigator.userAgent);
     console.log(navigator.appName);
     console.log(navigator.platform);
 </script>

history:保存当前窗口的历史记录

history:保存当前窗口的历史记录 ,里面包含了一些操作历史记录的属性和方法
【注意】不是浏览器中的历史记录

1.属性
length:返回历史记录的条数。

2.方法:
back():
语法:history.back();
作用:类似浏览器上面的后退键,回退到上一条历史记录中。
forward():
语法:history.forward();
作用:类似浏览器上面的前进键,前进到下一条历史记录中。
go(n):
语法:history.go(n); n表示整数
正整数:表示前进
0:刷新当前页面
负整数:表示后退
作用:跳转n条记录记录。

<!DOCTYPE html>
<html lang="ch-ZN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>A界面</title>
    //做的a和b页面来回跳转(当我多次点击a页面和b页面的来回跳转,他就拥有了多个历史记录)
    <script>
        window.οnlοad=function(){//在页面加载之前执行这个函数
            btn.οnclick=function(){//当点击btn的时候执行这个函数
            history.forward();//执行这个函数的内容是前进到下一个历史记录
             alert(history.length);//执行这个函数的内容是弹出历史记录的条数
        }
        gobtn.onclick = function(){//当点击gobtn的时候执行这个函数
                history.go(1);//执行这个函数的内容是前进到下一个历史记录
                //当他为1或-1时就为前进后退一条历史记录等同与forward()前进back()后退
                //为2或更大是前进2条或更多历史记录(
            }
        }
       
    </script>
</head>
<body>
    我是a页面
    <a href="b.html">跳转到b页面</a>
    <button id="btn">前进</button>
    <button id="gobtn">go</button>  
</body>
</html>
<!DOCTYPE html>
<html lang="ch-ZN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>B界面</title>
    <script>
        window.οnlοad=function(){
            btn.οnclick=function(){
            history.back();
        }
        gobtn.onclick = function(){
                history.go(-1);
            }
        }
       
    </script>
</head>
<body>
    我是b页面
    <a href="a.html">跳转到a页面</a>
    <button id="btn">后退</button>
    <button id="gobtn">go-1</button>
    
</body>
</html>

document.documentElement.scrollTop卷去的高度

获取页面滚动距离pageYOffset、scrollY、scrollTop区别
当页面的宽高比较大时,会出现滚动条,一部分内容会随着页面的滚动而被隐藏。
我们管上面隐藏的叫做 卷去的高度
左边隐藏的宽,叫做卷去的宽度。

document.documentElement.scrollTop(html的高度)
获取卷去的高度 使用时页面中必须要有DOCTYPE标签。
document.body.scrollTop(body的高度)
获取卷去的高度,使用时,页面中没有DOCTYPE标签。
document.body.scrollLeft获取卷去的宽度
兼容写法:
在这里插入图片描述

   var scrollTop = document.body.scrollTop||document.documentElement.scrollTop;

在这里插入图片描述
案例:将浏览器卷的高度和宽度输出到控制台

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body{
            width: 3000px;
            height: 2000px;
            background-color: green;
        }
    </style>
    <script>/
        window.οnlοad=function(){
            //获取卷去的高度,这里是兼容写法,当左边或右边有一边为真就为真
            var scrollTop = document.body.scrollTop||document.documentElement.scrollTop;
            console.log(scrollTop);
            //获取卷去的宽度
            var scrollLeft = document.body.scrollLeft||document.documentElement.scrollLeft;
            console.log(scrollLeft);
        }
    </script>
</head>
<body>   
</body>
</html>

window.scroll滚动

可以通过js代码来指定浏览器滚动到什么位置上。window.scroll

第一种方式:
格式:window.scroll(横坐标,纵坐标);
【注意】不需要书写单位,瞬间定位。

第二种方式:
window.scroll({
left:200,
top:600,
behavior:‘smooth’
});
behavior:可以决定滚动的方式,默认为 auto 瞬间定位,可以设置为smooth 平滑过渡。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

<script>
    window.onload = function () {
        btn.onclick = function () {
            window.scroll( {   top: 0,behavior: 'smooth'} );//注意这种写法
        }
    }
</script>

</head>

<body>
    
    <p>穿过挪威的森林,让我走进你的梦里,夕阳落在我的铠甲,
    王子不一定骑着白马,黑马王子四海为家,现在是晚上18:00,我不是马思唯,也没有王子陪</p>
    <br>很多个p很多个换行这里我只写了一个
 
    <button id="btn">滚动</button>
</body>

</html>

例子:自定义点击后滚动的速度,并且并且鼠标点击后停止滚动

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var timer = null;

        window.onload = function () {
            btn.onclick = function () {
                timer = setInterval(
                   
                    strer , 50)
            }
              function  strer () {
                      document.documentElement.scrollTop -= 20;
                        if (document.documentElement.scrollTop <= 0) {
                            clearInterval(timer);
                        }
                    }
        }
        var st = 0;
        window.onscroll = function () {

            if (st< document.documentElement.scrollTop) {
                clearInterval(timer);
            }
            st = document.documentElement.scrollTop;

        }
    </script>
</head>

<body>

    <p>穿过挪威的森林,让我走进你的梦里,夕阳落在我的铠甲,王子不一定骑着白马,黑马王子四海为家,现在是晚上18:00,我不是马思唯,也没有王子陪</p>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <p>穿过挪威的森林,让我走进你的梦里,夕阳落在我的铠甲,王子不一定骑着白马,黑马王子四海为家,现在是晚上18:00,我不是马思唯,也没有王子陪</p>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <p>穿过挪威的森林,让我走进你的梦里,夕阳落在我的铠甲,王子不一定骑着白马,黑马王子四海为家,现在是晚上18:00,我不是马思唯,也没有王子陪</p>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <p>穿过挪威的森林,让我走进你的梦里,夕阳落在我的铠甲,王子不一定骑着白马,黑马王子四海为家,现在是晚上18:00,我不是马思唯,也没有王子陪</p>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <p>穿过挪威的森林,让我走进你的梦里,夕阳落在我的铠甲,王子不一定骑着白马,黑马王子四海为家,现在是晚上18:00,我不是马思唯,也没有王子陪</p>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <p>穿过挪威的森林,让我走进你的梦里,夕阳落在我的铠甲,王子不一定骑着白马,黑马王子四海为家,现在是晚上18:00,我不是马思唯,也没有王子陪</p>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <button id="btn">滚动</button>
</body>

</html>

js如何判断一个元素在可视区域内

js如何判断一个元素在可视区域内

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值