• kellogg项目总结


    1.题目的去随机值去重

    (当时做的是每次点击取出一个随机数,并删除数组中位置,后来改成获取10个随机数组成的数组,二者略有差距,修改颇长时间)

    function getArr(num){
        totalArr = [];
        for(var i = 0; i < num; i++){
            totalArr.push(i);
        }
    }
    
    function getRam(){
        var ram =  Math.floor(0 + (totalArr.length - 0) * Math.random());
        return Number(totalArr.splice(ram,1));
    }
    
    
    function getRamTen(index,num){ //index 从多少开始;num 去几个随机数
        getArr(25);  //重复调用,在getRam时会发生变化,所以每次执行要再次填满25个
        var exam = [];
        for(var i = 0 ; i < num ; i ++){
            var ram = 'q'+(getRam()+index)+'.html';
            exam.push(ram);
        }
        console.log("2 " , exam.sort() , exam.length);
    }
    
    getRamTen(0,10);

     2.无缝滚动

    (如果是后台获取数据,还需做一些优化处理,因为可能数据开始获取不到)

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <style type="text/css">
    .bar {
     100%;
    height: 45px;
    line-height: 45px;
    background-color: #fe0000;
    clear: both;
    position: relative;
    overflow: hidden;
    }
    
    .bar ul {
    position: absolute;
    left: 0;
    top: 0;
    }
    
    .bar li {
    float: left;
    color: #fff;
    list-style: none;
    margin-right: 20px;
    }
    
    </style>
    <script type="text/javascript">
    function $$(id){return document.getElementById(id);}
    window.onload=function(){
        var oDiv = $$("bar");
        var oUl = oDiv.getElementsByTagName("ul")[0];
        var oLi = oUl.getElementsByTagName("li");
        
        var timer = null;
        var iSpeed=-2;
        
        oUl.style.width=(oLi[0].offsetWidth+30)*oLi.length+"px";
        oUl.style.left= oDiv.offsetWidth+"px";
    
        timer=setInterval(function(){
            oUl.style.left= oUl.offsetLeft + iSpeed +"px";
    
            if(oUl.offsetLeft<-oUl.offsetWidth){
                oUl.style.left= oDiv.offsetWidth+"px";
            }
        },30);
    };
    </script>
    </head>
    <body bgcolor="#FFFFFF">
    <div class="bar" id="bar">
        <ul>
            <li>陈1 刚刚送出一份早餐</li>
            <li>陈一 刚刚送出一份早餐</li>
            <li>陈一 刚刚送出一份早餐</li>
            <li>陈一 刚刚送出一份早餐</li>
            <li>陈一 刚刚送出一份早餐</li>
            <li>陈一 刚刚送出一份早餐</li>
            <li>陈7 刚刚送出一份早餐</li>
        </ul>
    </div>
    
    
    </body>
    </html>

    3.判断手机型号

    (windows phone貌似判断的不是很准确,且里面css会很混乱,js可能更加会有坑,总之水很深。)

    var isMobile = {
        Android: function() {
            return navigator.userAgent.match(/Android/i) ? true : false;
        },
        BlackBerry: function() {
            return navigator.userAgent.match(/BlackBerry/i) ? true : false;
        },
        iOS: function() {
            return navigator.userAgent.match(/iPhone|iPad|iPod/i) ? true : false;
        },
        Windows: function() {
            return navigator.userAgent.match(/IEMobile/i) ? true : false;
        },
        Windows2: function() {
            return navigator.userAgent.match(/Windows Phone/i) ? true : false;
        },
        
        any: function() {
            return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows() || isMobile.Windows2());
        }
    };

    if( isMobile.any() ){
      //todo
    }

    4.js加载需要用到的js,或者css文件

    function loadjscssfile(filename, filetype){
        if (filetype=="js"){ //判定文件类型
            var fileref=document.createElement('script')//创建标签
            fileref.setAttribute("type","text/javascript")//定义属性type的值为text/javascript
            fileref.setAttribute("src", filename)//文件的地址
        }
        else if (filetype=="css"){ //判定文件类型
            var fileref=document.createElement("link")
            fileref.setAttribute("rel", "stylesheet")
            fileref.setAttribute("type", "text/css")
            fileref.setAttribute("href", filename)
        }
        if (typeof fileref!="undefined")
        document.getElementsByTagName("head")[0].appendChild(fileref)
    }

    5. iframe 不仅仅有跨域的问题,还会有加载慢的问题,这次只用了onload来加载,还有可以用preload来预加载。放在dropbox里面了;iframe里面的页面访问父级window.parent

  • 相关阅读:
    python2的比较函数,cmp
    快速排序
    如果a,b,c为自然数,a+b+c=1000,a方+b方=c方,求出abc可能的组合(python实现)
    python之join
    python之functools partial
    Python 3 iter函数用法简述
    python线程之condition
    python 线程 event
    getattr getattribute setattr hasattr delattr
    Properties类
  • 原文地址:https://www.cnblogs.com/della/p/3666410.html
Copyright © 2020-2023  润新知