• BOM


    1.Open

     <input type="button" value="open" id="open"/> 

    Js:

     document.getElementById("open").onclick = function () {
     window.open("http://www.baidu.com");

      打开一个新的窗口,还有第二个参数

    window.open("http://www.baidu.com","_self");

    有时候我们看到那些

    image

    这样就能运行代码是怎么做的呢

    HTML:

    <textarea id="txt1" rows="10"></textarea> 
    <input id="btn1" type="button" value="运行" />

    js:

     var oTxt = document.getElementById("txt1");
            var oBtn = document.getElementById("btn1");
            oBtn.onclick = function () {
                var oNewWin = window.open("about:blank");
                oNewWin.document.write(oTxt.value);
            };

      这样我们将HTML源代码放在文本域中运行代码就能在新的页面显示

    2.close

    HTML:

     <input id="btn1" type="button" value="关闭" />

    JS:

    var oBtn = document.getElementById("btn1");
            oBtn.onclick = function () {
                window.close();
            };

    运行发现在IE下面需要关闭提示框关闭,在火狐下面无法关闭

    解决这个问题只能现在一个页面打开这个需要关闭的页面

    var btn1 = document.getElementById("btn1");
        btn1.onclick = function () {
            window.open("close.html", "_blank");
        }
    3.navigator
    alert(window.navigator.userAgent);

    image

    弹出当前浏览器的版本

    4.location

    alert(window.location);

    弹出当前页的地址

    window.location=http://www.baidu.com;

    可以指定浏览器的跳转

    5.confirm

    var b=confirm("今天下雨了吗?");
    alert(b);

    当我们点击确认弹出true,取消弹出false。

    6.prompt

    var str = prompt("请输入您的姓名",’张三’);
        alert(str);
    返回的是输入的值,当然后面那个参数也可以为空,那个是默认值

    7.scrollTop

    比如我们想做一个左侧栏

    image

    HTML:

    <div id="div1">
    </div>

    CSS:

         #div1 {
                 100px;
                height: 100px;
                background: red;
                position: absolute;
                right: 0;
            }

    JS:

     window.onload=window.onresize= window.onscroll = function () {
            var oDiv = document.getElementById("div1");
            var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
            var t = (document.documentElement.clientHeight - oDiv.offsetHeight) / 2;
            oDiv.style.top = scrollTop + t + 'px';
        };

    我们发现动来动去的时候DIV有点抖

    我们可以改变CSS,固定定位,JS不要了:

         #div1 {
                 100px;
                height: 100px;
                background: red;
                position: fixed;
                right: 0;
                top:50%;
                margin-top:-50px;
            }
    不过这个在IE6不支持,因为IE6不支持FIXED
    8.回到顶部
    <body>
    1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br />122<br />123<br />124<br />125<br />126<br />127<br />128<br />129<br />130<br />131<br />132<br />133<br />134<br />135<br />136<br />137<br />138<br />139<br />140<br />141<br />142<br />143<br />144<br />145<br />146<br />147<br />148<br />149<br />150<br />151<br />152<br />153<br />154<br />155<br />156<br />157<br />158<br />159<br />160<br />161<br />162<br />163<br />164<br />165<br />166<br />167<br />168<br />169<br />170<br />171<br />172<br />173<br />174<br />175<br />176<br />177<br />178<br />179<br />180<br />181<br />182<br />183<br />184<br />185<br />186<br />187<br />188<br />189<br />190<br />191<br />192<br />193<br />194<br />195<br />196<br />197<br />198<br />199<br />200<br />201<br />202<br />203<br />204<br />205<br />206<br />207<br />208<br />209<br />210<br />211<br />212<br />213<br />214<br />215<br />216<br />217<br />218<br />219<br />220<br />221<br />222<br />223<br />224<br />225<br />226<br />227<br />228<br />229<br />230<br />231<br />232<br />233<br />234<br />235<br />236<br />237<br />238<br />239<br />240<br />241<br />242<br />243<br />244<br />245<br />246<br />247<br />248<br />
    <input id="btn1" type="button" value="回到顶部" />

    css:

    #btn1 {position:fixed; bottom:0; right:0;}

    JS:

    window.onload=function ()
    {
        var oBtn=document.getElementById('btn1');
        
        oBtn.onclick=function ()
        {
            setInterval(function (){
                var scollTop=document.documentElement.scrollTop||document.body.scrollTop;
                var iSpeed=Math.floor(-scollTop/8);
                
                document.documentElement.scrollTop=document.body.scrollTop=scollTop+iSpeed;
            }, 30);
        };
    };

    这样有一个问题就是当滚动到顶部后,再把滚动条下拉,他会再次往上滚,我们需要改进下

    var oBtn=document.getElementById('btn1');
        var timer=null;
        
        oBtn.onclick=function ()
        {
            timer=setInterval(function (){
                var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
                var iSpeed=Math.floor(-scrollTop/8);
                
                if(scrollTop==0)
                {
                    clearInterval(timer);
                }
                
                document.documentElement.scrollTop=document.body.scrollTop=scrollTop+iSpeed;
            }, 30);
        };

    但是这样有个问题就是当滚动条还没滚动到顶部如果我们拖动还是存在抢的问题

    var oBtn=document.getElementById('btn1');
        var bSys=true;//定义个变量
        var timer=null;
        
        //如何检测用户拖动了滚动条
        window.onscroll=function ()
        {
            if(!bSys)
            {
                clearInterval(timer);
            }
            bSys=false;//人工滚动
        };
        
        oBtn.onclick=function ()
        {
            timer=setInterval(function (){
                var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
                var iSpeed=Math.floor(-scrollTop/8);
                
                if(scrollTop==0)
                {
                    clearInterval(timer);
                }
                
                bSys=true;//系统滚动
                document.documentElement.scrollTop=document.body.scrollTop=scrollTop+iSpeed;
            }, 30);
        };
  • 相关阅读:
    Sqlserver 代码格式化工具,可提高开发效率
    Html.Partial和Html. RenderPartial用法
    Javascript中的Table导出成Excel表格
    C#/.NET/.NET Core定时任务调度的方法或者组件有哪些--Timer,FluentScheduler还是...
    C# 开源框架(整理)
    NFine:.NET快速开发平台 NFine.Framework Web框架
    ansible使用setup模块查看受控机的信息(ansible2.9.5)
    ansible用get_url模块在受控机下载文件(ansible2.9.5)
    ansible通过yum/dnf模块给受控机安装软件(ansible2.9.5)
    centos8平台编译安装nginx1.18.0
  • 原文地址:https://www.cnblogs.com/automation/p/3416387.html
Copyright © 2020-2023  润新知