zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Architecture and working of an Antivirus Engine
    ASP.NET HttpApplication HttpModule + Page Life Cycle Events Sequence Test
    EasyCodeTimerPlus PerformanceCounter 改自 @老赵
    CodeTimerPerformance EasyPerformanceCountersHelper .NET v3.5
    HTML Input Text cursor position control
    DataTable List<T> 互转 扩展方法 Extension Methods
    删除N天前的M(天)个目录 、删除N天前最后修改的文件 ForFiles, dos command 批处理命令cmd/bat
    DataTableHelper
    DynamicMethodHelper R2 20120814 DynamicMethod ILGenerator.Emit
    DynamicCallMethodExpressionTreeInvokerHelper CodeDom 动态编译代码 执行代码
  • 原文地址:https://www.cnblogs.com/della/p/3666410.html
Copyright © 2011-2022 走看看