zoukankan      html  css  js  c++  java
  • 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);
        };
  • 相关阅读:
    uvm设计分析——report
    report源码分析——report_handle和report_server和report_catcher
    report源码分析——宏的执行
    015-命令行下载安装brew
    011-多线程-基础-基于AbstractQueuedSynchronizer自定义同步组件
    010-多线程-JUC集合-Queue-ConcurrentLinkedQueue
    009-多线程-JUC集合-Queue-LinkedBlockingDeque
    008-多线程-JUC集合-Queue-LinkedBlockingQueue
    007-多线程-JUC集合-Queue-BlockingQueue接口以及ArrayBlockingQueue
    006-多线程-集合-Set-ConcurrentSkipListSet
  • 原文地址:https://www.cnblogs.com/automation/p/3416387.html
Copyright © 2011-2022 走看看