第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

canvas玩兒轉(zhuǎn)紅包照片的另一實(shí)現(xiàn)(未用canvas)

標(biāo)簽:
Html/CSS
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="jquery-3.1.0.js"></script>
<style>
    body{
        margin:0 auto;
        padding:0;
    }

    #wrap{
        width:70vw;
        height:80vh;
        margin:10vh 15vw;
        position: relative;
    }

    #blur,#clear{
        display: block;
        width:100%;
        height:100%;
        position: absolute;
        top:0;
        left:0;
    }

    #blur{
        z-index: 1;
        -webkit-filter:blur(20px) ;
        -moz-filter:blur(20px) ;
        -ms-filter:blur(20px) ;
        -o-filter:blur(20px) ;
        filter:blur(20px) ;
    }

    #clear{
        z-index: 10;
        -webkit-clip-path:circle(50px at 50% 50%) ;
        -moz-clip-path:circle(50px at 50% 50%) ;
        -ms-clip-path:circle(50px at 50% 50%) ;
        -o-clip-path:circle(50px at 50% 50%) ;
        clip-path:circle(50px at 50% 50%) ;
    }

    #btns{
        position: absolute;
        top:35vh;
        left:75vw;
    }

    #btns input{
        display: block;
        margin-bottom:10vh;
        width:100px;
        height:50px;
        font-size: 2em;
    }
</style>
</head>
<body>
<div id="wrap">
    <img class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="1.jpg" alt="图片" id="blur">
    <img class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="1.jpg" alt="图片" id="clear">
    <div id="btns">
        <input type="button" id="toClear" value="清晰">
        <input type="button" id="toLocation" value="变位">
    </div>
</div>
<script >
    window.onload = function(){

        var wrap = document.getElementById('wrap');     
        var clear = document.getElementById('clear'); 
        var toClear = document.getElementById('toClear'); 
        var toLocation = document.getElementById('toLocation');

        var point = {//圆心坐标
                        x:0,
                        y:0
                    };
        var r = 50;//半径

        var minX = 50;//圆心最小横坐标  其中50是圆的半径
        var maxX = wrap.offsetWidth - 50;//圆心最大横坐标

        var minY = 50//圆心最小纵坐标
        var maxY = wrap.offsetHeight - 50;//圆心最大纵坐标

        var timer;//定时器

        var clickClearFlag = 0; //点击清晰按钮标志,防止因用户连续点击该按钮,
                                // 而多次触发setInterval,使得clearInterval失效
                                // 0表示未点击,1表示已点击一次
                                // 在绑定变位事件时,会将该标志置为0

        //计算页面中圆的圆心原始位置(页面刚刚加载后的位置)
        function getOriginalLocation(){
            point.x = wrap.offsetWidth / 2;
            point.y = wrap.offsetHeight / 2;
        }
        getOriginalLocation();

        //产生符合范围的随机数,
        //并作为透明区域的新圆心位置
        function randomDatas(){
            do{
                point.x = Math.random() * maxX;
                point.y = Math.random() * maxY;
            }while(point.x < minX  point.y < minY);
        }

        function setLocation(){
            clear.style.webkitClipPath = "circle(50px at " + point.x +"px "+ point.y + "px)";
            clear.style.mozClipPath = "circle(50px at " + point.x +"px "+ point.y + "px)";
            clear.style.msClipPath = "circle(50px at " + point.x +"px "+ point.y + "px)";
            clear.style.oClipPath = "circle(50px at " + point.x +"px "+ point.y + "px)";
            clear.style.clipPath = "circle(50px at " + point.x +"px "+ point.y + "px)";
        }

        //改变圆半径,
        //并作为新圆半径
        function changeRadius(){
            if(r < 2000){
                r += 1;
            }
            else{
                clearInterval(timer);
            }
        }

        function setRadius(){
            changeRadius();
            clear.style.webkitClipPath = "circle(" + r + "px at " + point.x +"px "+ point.y + "px)";
            clear.style.mozClipPath = "circle(" + r + "px at " + point.x +"px "+ point.y + "px)";
            clear.style.msClipPath = "circle(" + r + "px at " + point.x +"px "+ point.y + "px)";
            clear.style.oClipPath = "circle(" + r + "px at " + point.x +"px "+ point.y + "px)";
            clear.style.clipPath = "circle(" + r + "px at " + point.x +"px "+ point.y + "px)";
        }

        //给变位按钮(toLocation)绑定圆心位置变更事件,
        //保证js代码中r=50,并还原clickClearFlag
        toLocation.onclick = function(){
            r = 50; //当点击一次清晰按钮后,r的值会改变,若此时点击变位按钮,再点击清晰按钮,
                    //r的值会从上一次点击清晰按钮后的r值开始,为避免该情况,在点击变位按钮时,将r人为
                    //初始化为50,这样一来,在进行下一次清晰时,效果依然从r=50开始

            clickClearFlag = 0;

            if(timer != "undefine" && timer != null){
                clearInterval(timer);
            }
            randomDatas();
            setLocation();
        }

        //给清晰按钮(toClear)绑定图像整张清晰事件(逐渐扩大圆的半径)
        toClear.onclick = function(){
            if(clickClearFlag === 0){
                timer = setInterval(setRadius,1);
            }
            clickClearFlag = 1;
        }
    }
</script>
</body>
</html>
點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消