原生js仿360開機啟動右下角關閉浮動層效果



88 351 118



特效描述:開機啟動 右下角浮動層 關閉浮動層效果,js關閉浮動層,360開機啟動浮動層效果。

代碼結構

1. HTML代碼

<div class="box" id="box">
    <span id="closeButton">X</span>
    <div class="hd" id="headPart">
        <img src="images/t.jpg" alt=""/>
    </div>
    <div class="bd" id="bottomPart">
        <img src="images/b.jpg" alt=""/>
    </div>
</div>
<script>
    var closeButton = document.getElementById("closeButton");
    var bottomPart = document.getElementById("bottomPart");
    closeButton.onclick = function () {
        animate(bottomPart, {"height": 0}, function () {
            animate(bottomPart.parentNode, {"width": 0});
        });
    }
    function animate(obj, json, fn) {
        clearInterval(obj.timer);
        obj.timer = setInterval(function () {
            //如果本次執行完成后 所有的屬性都達到了目標值 就可以清理了
            var flag = true;//假設所有的屬性都達到了目標值
            for (var k in json) {
                var leader = parseInt(getStyle(obj, k)) || 0;
                var target = json[k];
                var step = (target - leader) / 10;
                step = step > 0 ? Math.ceil(step) : Math.floor(step);
                leader = leader + step;
                obj.style[k] = leader + "px";
                if (leader != target) {
                    flag = false;//告訴標記我還沒達到
                }
            }
            //到了這里還是true就說明 沒有任何人告訴falg自己是false
            //也就是說都達到了
            if (flag) {
                clearInterval(obj.timer);
                if (fn) {
                    fn();//有回調函數才調用
                }
            }
        }, 15);
    }
    function getStyle(obj, attr) {
        if (obj.currentStyle) {
            return obj.currentStyle[attr];
        } else {
            return window.getComputedStyle(obj, null)[attr];
        }
    }
</script>



用戶評論
大牛,別默默的看了,快登錄幫我點評一下吧!:)      登錄 | 注冊


熱門標簽: 浮動 懸浮 懸浮層 懸浮框 浮動層 浮動框 浮動插件 懸浮插件 浮動提示框 浮動菜單 浮動導航
?
×
×

注冊

官方QQ群

掃描上面二維碼加微信群

官方QQ群

jQuery/js討論群
群號:642649996
Css3+Html5討論群
群號:322131262

加群請備注:從官網了解到

老夫子电子