国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js封裝toast組件——常用工具函數(shù)

junbaor / 1410人閱讀

摘要:以下是封裝的代碼用原生封裝一個組件隱藏的引用初始化設(shè)置,一個頁面有且僅有一個設(shè)置類名設(shè)置隱藏顯示文本內(nèi)容類型持續(xù)時間確保上一次的已被清空上一次的還未走完不能為空不存在成功圖標錯誤圖標文字不傳的話默認置引用為空隱藏如果存在清空引用

以下是封裝的代碼

/**
 * 用原生 JS 封裝一個 Toast 組件
 */
var Toast = {
    // 隱藏的 setTimeOut 引用
    hideTimeOut: null,
    /**
     * 初始化
     */
    init: function () {
        var toastNode = document.createElement("section");
        toastNode.innerHTML = "111";
        toastNode.id = "toastWaka"; // 設(shè)置id,一個頁面有且僅有一個Toast
        toastNode.setAttribute("class", "toast");   // 設(shè)置類名
        toastNode.style.display = "none";   // 設(shè)置隱藏
        document.body.appendChild(toastNode);
    },
    /**
     * 顯示Toast
     * @param text 文本內(nèi)容
     * @param type 類型 success error
     * @param duration 持續(xù)時間
     */
    show: function (text, type, duration) {
        // 確保上一次的 TimeOut 已被清空
        if (this.hideTimeOut) {
            clearTimeout(this.hideTimeOut);
            this.hideTimeOut = null;
            // console.error("上一次的 TimeOut 還未走完!");
            // return;
        }
        if (!text) {
            console.error("text 不能為空!");
            return;
        }
        var domToastWaka = document.getElementById("toastWaka");
        console.log("domToastWaka", domToastWaka);
        if (!domToastWaka) {
            console.error("toastWaka DOM 不存在!");
            return;
        }
        var domIconSuccess = domToastWaka.querySelector(".icon-success");   // 成功圖標
        var domIconError = domToastWaka.querySelector(".icon-error");   // 錯誤圖標
        var domToastText = domToastWaka.querySelector(".text");   // 文字
        domToastText.innerHTML = text || "";
        switch (type) {
            case "success":
                domIconSuccess.style.display = "inline-block";
                domIconError.style.display = "none";
                break;
            case "error":
                domIconSuccess.style.display = "none";
                domIconError.style.display = "inline-block";
                break;
            default:
                domIconSuccess.style.display = "none";
                domIconError.style.display = "none";
                break;
        }
        domToastWaka.style.display = "block";
        // 不傳的話默認2s
        var that = this;
        this.hideTimeOut = setTimeout(function () {
            domToastWaka.style.display = "none";
            that.hideTimeOut = null;    // 置 TimeOut 引用為空
        }, duration || 2000);
    },
    /**
     * 隱藏 Toast
     */
    hide: function () {
        // 如果 TimeOut 存在
        if (this.hideTimeOut) {
            // 清空 TimeOut 引用
            clearTimeout(this.hideTimeOut);
            this.hideTimeOut = null;
        }
        var domToastWaka = document.getElementById("toastWaka");
        if (domToastWaka) {
            domToastWaka.style.display = "none";
            document.body.removeChild(domToastWaka);
        }
    }
};

css樣式設(shè)置

/*toast樣式*/
#toastWaka {
    position: absolute;
    display: none;
    left: 50%;
    bottom: 50%;
    z-index: 99999;
    margin: 0 auto;
    -webkit-transform: translate(-50%);
    transform: translate(-50%);
    width: 120px;
    height:40px;
    line-height: 40px;
    border-radius: 5px;
    text-align: center;
    color: #fff;
    background-color: rgba(000,000,000,0.5);
}

#toastWaka .text{
    color: #fff;
    display: inline-block;
    font-size: 14px;
    position: absolute;
    top:0;
    bottom:0;
    right:0;
    left:0;
}

如何使用




    
    
        toast
    
    
    


    

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/101397.html

相關(guān)文章

  • Next框架與主流工具的整合(二)—— 完善與優(yōu)化

    摘要:從概念來說,就是設(shè)備的物理像素與設(shè)備獨立像素也就是邏輯像素,以下就稱為邏輯像素的比率。通過這個標簽,我們可以實現(xiàn)初始縮放,就可以達到的邏輯像素眼睛在設(shè)備上看起來的,換句話說可以在上充滿豎屏的整個寬度。 前言:18年12月24日項目成功上線了,在經(jīng)歷了兩周的線上bug、UI以及代碼優(yōu)化后,解決了不少問題,于是再完善與優(yōu)化一下這個項目。 布局優(yōu)化 高清配置 antd-mobile 自定義...

    teren 評論0 收藏0
  • mpvue開發(fā)小程序所遇問題及h5轉(zhuǎn)化方案

    摘要:騰訊地圖提供的只提供了經(jīng)緯度定位,而產(chǎn)品需要的是確認定位后獲取城市,進行同城商品檢索阿里云對象儲存處理文件上傳,比較意外的是騰訊對阿里云的域名前綴進行了封禁后臺不能配置,解決方案是讓后臺將該域名進行服務(wù)器域名代理。 mpvue開發(fā)小程序所遇問題及h5轉(zhuǎn)化方案 項目結(jié)構(gòu) |---build |---pages.js文件目錄 |---src ...

    big_cat 評論0 收藏0
  • Vue.extend用法(主要用于需要 動態(tài)渲染的組件,或者類似于window.alert() 提示

    摘要:一簡單的使用主要用于需要動態(tài)渲染的組件,或者類似于提示組件注意創(chuàng)建的是一個組件構(gòu)造器,而不是一個具體的組件實例屬于的全局,在實際業(yè)務(wù)開發(fā)中我們很少使用,因為相比常用的寫法使用步驟要更加繁瑣一些。 最近在重構(gòu)公司的項目,有些組件想要封裝的更靈活,例如toast、loading、messageBox等彈窗組件,模仿了mint-ui封裝此類組件的方式封裝了自己的彈窗組件; mint-UI的t...

    masturbator 評論0 收藏0

發(fā)表評論

0條評論

junbaor

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<