zoukankan      html  css  js  c++  java
  • 前端智勇大冲关

    有关淘宝ued前端智勇大冲关的解答
    一、先给出每一关的地址
    第一关:http://ued.taobao.com/quiz/index.php

    第二关:http://ued.taobao.com/quiz/?ZzCMnTucu2VlfOC2xqrWQL4FY20

    第三关:http://ued.taobao.com/quiz/?PGKPkziU7DRlfOC2xqrWQbMOY2w

    第四关:http://ued.taobao.com/quiz/?PDSLnWnHvWplfOC2xqrWRLIFY2o


    二、分析每一关的解答

    第一关:考察css问题,考点在于字体颜色与背景颜色一样。

    查看源代码,便可以发现。

     

     

    第二关:考察javascript中数组和字符串。

    a="hostname,test,value,input,getElementsByTagName,nextQuiz,23805,http,protocol,location,reverse,join,split,
    w2YEQLRWrqx2COflRz6HjzkYXTa?/ziuq/moc.oaboat.deu//:ptth,GET,...".split(",");
    this[a[5]]=a[13][a[12]]("")[a[10]]()[a[11]]("");

              ==>a[13]["split"]("")["reverse"]()["join"]("");

              ==>"w2YEQLRWrqx2COflRz6HjzkYXTa?/ziuq/moc.oaboat.deu//:ptth"["split"]("")["reverse"]()["join"]("");                     

              ==>"w2YEQLRWrqx2COflRz6HjzkYXTa?/ziuq/moc.oaboat.deu//:ptth".split("").reverse().join("");

    第三关:考察javascript与css应用

    把答案写在button按钮value的值上o2YFILRWrqx2COflpWvHnWnLSDP?/ziuq/moc.oaboat.deu//:ptth,这个按钮被display;none

    可以把这段字符串加密处理下,放在cssTest.js中

    把按钮给出来,填写样式属性。

    例如:position: absolute; left: 480px; top: 150px;

    原理:碰撞检测

    以前写的一个关于《碰撞检测》

    下面是cssTest.js源码

    (function(){
        var rectangle = $('#balloon'),
        newCSS = $('#newCSS'),
        rectanglePosition = rectangle.position(),
        rectangleWidth = rectangle.width(),
        rectangleHeight = rectangle.height(),
        isEnter = false,
        radius = 90,
        centerOfBalloon,
        //获取钉头的坐标
        getPinPosition = function(el){
            var width = el.width(),
            height = el.height(),
            position = el.position(),
            marginLeft=parseFloat(el.css('marginLeft')),
            marginTop = parseFloat(el.css('marginTop'));
            return {
                left : position.left+marginLeft+width,
                top : position.top+marginTop+height
            }
        },
        //获取气球圆心位置
        getCenterOfBalloon = function(){
            var top = rectanglePosition.top+radius,
            left = rectanglePosition.left+rectangleWidth/2;
            return{
                left : left,
                top : top
            }
        },
        isPinInBalloon = function(pinPosition){
            //console.info(Math.sqrt(Math.pow((centerOfBalloon.left-pinPosition.left),2)+Math.pow((centerOfBalloon.top-pinPosition.top),2)));
            return Math.sqrt(Math.pow((centerOfBalloon.left-pinPosition.left),2)+Math.pow((centerOfBalloon.top-pinPosition.top),2))<=radius;
        },
        checkPosition = function(e){
            var pin= $(this),
            pinPosition = getPinPosition(pin);
            if(isPinInBalloon(pinPosition)){
                if(!isEnter){
                    pin.triggerHandler('enter');
                }
                isEnter = true;
            }
            else{
                isEnter = false;
            }
        },
        parseInput = function(value){
            var s = value.replace(/\n/g, ';').replace(/\s/g, ''),
            a = s.split(';'),
            item,
            k,
            ret = {};
            for(var i=0,l=a.length;i<l;i++){
                item = a[i];
                if(!item){
                    continue;
                }
                k = item.split(':');
                ret[k[0]] = k[1];
            }
            return ret;
        },
        movePin= function(pin,o){
            pin.css(parseInput(newCSS.val()));
            pin.triggerHandler('move');
        },
        //
        bang = function(){
            setTimeout(function () {
                rectangle.css("background-position", "-176px 50%");
            }, 500);
            setTimeout(function () {
                rectangle.css("background-position", "-352px 50%");
            }, 1000);
            setTimeout(function () {
                rectangle.css("background-position", "-528px 50%");
            }, 1500);
            setTimeout(function () {
                rectangle.css("background-position", "-704px 50%");
            }, 2000);
            setTimeout(function () {
                $("#platform .pin").fadeOut();
                rectangle.fadeOut(function () {
                    var val = $('#test').val().split('').reverse().join('').substr(7);
                    $("#suc").html(val).fadeIn();
                });
            }, 2500);
        },
        init = function(){
            var pin= $('#pin');
            centerOfBalloon = getCenterOfBalloon();
            pin.on('enter',bang);
            newCSS.on('keyup',function(){
                movePin(pin,parseInput(newCSS.val()));
            });
            pin.on('move',checkPosition);
        }();
    })();

    第四关:主要考查的是算法应用,很有趣

    有关第四关的解答将在近期整理好了给出,在此请大家耐心等待

  • 相关阅读:
    SQLSERVER走起微信公众帐号已经开通搜狗微信搜索
    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
    恢复SQL Server被误删除的数据(再扩展)
    Windows server 2012 添加中文语言包(英文转为中文)(离线)
    SQL Server技术内幕笔记合集
    将表里的数据批量生成INSERT语句的存储过程 增强版
    在SQL2008查找某数据库中的列是否存在某个值
    SQLSERVER走起 APP隆重推出
  • 原文地址:https://www.cnblogs.com/kuikui/p/2678126.html
Copyright © 2011-2022 走看看