成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

javascript新手實例3-仿手機聊天界面(if else運用)

bingchen / 754人閱讀

摘要:今天給大家一個的小示例,其中我在文件里寫了很多注釋,有興趣的同學(xué)自己看注釋,另外對于聊天界面的顯示方式,我寫了兩種,大家也可以分別試試?yán)弦?guī)矩,先上圖代碼模擬手機短信發(fā)送發(fā)送代碼代碼正則也可以匹配,不過正則的效率

今天給大家一個if else的Javascript小示例,其中我在js文件里寫了很多注釋,有興趣的同學(xué)自己看注釋,另外對于聊天界面的顯示方式,我寫了兩種,大家也可以分別試試:

老規(guī)矩,先上圖:

html代碼



    
        
        模擬手機短信發(fā)送
        
        
    
    
        

css代碼

body {
    background: #000;
}
.phoneBox {
    background: url(phoneBg.jpg) no-repeat;
    width: 289px;
    height: 594px;
    margin: 50px auto;
}
.phoneContent {
    width: 237px;
    height: 370px;
    float: left;
    overflow-x: hidden;
    margin: 87px 0 0 26px;
}
#phoneContrl {
    float: left;
    margin: 7px 0 0 30px;
}
.emo, #textInput {
    height: 32px;
    border: 1px solid #ded5e6;
    border-radius: 5px;
    float: left;
    margin-right: 3px;
}
.emo {
    width: 31px;
    cursor: pointer;
    background: url(em1.jpg) no-repeat center;
}
#textInput {
    width: 135px;
    padding: 0 0 0 5px;
}
#textSet {
    height: 32px;
    cursor: pointer;
    width: 47px;
    border: none;
    background: #f7f7f7;
    font-size: 16px;
    line-height: 32px;
    text-align: center;
}
.user1, .user2 {
    width: 100%;
    float: left;
    margin: 10px 0;
    font-size: 15px;
}
.user1 .userLogo,.user1 .userText,.user2 .userLogo,.user2 .userText {
    float: left;
    width: 30px;
    margin: 0 2px;
}
.user1 .userText, .user2 .userText {
    width: auto;
    max-width: 165px;
    background: #ded6e7;
    color: #333;
    border-bottom: 2px solid #b4b0b9;
    padding: 5px;
    border-radius: 5px;
}
.user2 .userLogo,.user2 .userText {
    float: right;
}
.user2 .userText {
    background: #21c616;
    color:#fff;
    border-bottom: 2px solid #0c7506;
}

Javascript代碼

window.onload = function () {
    
    function luka(element) {
        //if (/#/.test(element) == true) 正則也可以匹配,不過正則的效率沒有函數(shù)高,貌似任何語言都是
        if (element.indexOf("#") > -1) {
            return document.getElementById(element.replace(/#/,""));
        };
        if (element.indexOf(".") > -1) {
            return document.getElementsByClassName(element.replace(/./g,""));
        };
        if (/^[a-zA-Z]+&/.element = true) {
            return document.getElementsByTagName(element);
        };
    };
    
    luka(".emo")[0].onclick = function() {
        var _logo = luka(".emo")[0].getAttribute("_logo")
        if (  _logo == 1 ){
            luka(".emo")[0].setAttribute("style","background:url(em2.jpg) no-repeat center");
            luka(".emo")[0].setAttribute("_logo","2");
        };
        if (  _logo == 2 ){
            luka(".emo")[0].setAttribute("style","background:url(em1.jpg) no-repeat center");    
            luka(".emo")[0].setAttribute("_logo","1");
        };
    };

    
    luka("#textSet").onclick = function() {
        if ( luka("#textInput").value == "") {
            alert("還沒有輸入任何內(nèi)容");
        }
        else {
            var creatDiv = document.createElement("div")            
            
            //這種方式是完全參考gif的效果,但是用戶體驗不好
            if(luka(".emo")[0].getAttribute("_logo") == 1) {
                creatDiv.className = "user1";  //id title className 可以用這種方式設(shè)置,style能設(shè)置,但是無法賦值
                luka(".phoneContent")[0].insertBefore(creatDiv,luka(".phoneContent")[0].childNodes[0]);    
                luka(".user1")[0].innerHTML = "";
                luka(".user1")[0].innerHTML += "
"+ luka("#textInput").value +"
"; }; if(luka(".emo")[0].getAttribute("_logo") == 2) { creatDiv.className = "user2"; //id title className 可以用這種方式設(shè)置,style能設(shè)置,但是無法賦值 luka(".phoneContent")[0].insertBefore(creatDiv,luka(".phoneContent")[0].childNodes[0]); luka(".user2")[0].innerHTML = ""; luka(".user2")[0].innerHTML += "
"+ luka("#textInput").value +"
"; }; /* 這種寫法,實現(xiàn)的就是每次都在上一條消息的下面來顯示最新消息,這種體驗才是正確的 代碼應(yīng)該可以再優(yōu)化一下,效果還可以做一下實現(xiàn)內(nèi)容多的時候,滾動條跟著滾動 _childOneDivNmu,_childTwoDivNmu是為了知道第幾個元素,不然每一次都在更新第一個元素 if(luka(".emo")[0].getAttribute("_logo") == 1) { creatDiv.className = "user1"; //id title className 可以用這種方式設(shè)置,style能設(shè)置,但是無法賦值 luka(".phoneContent")[0].appendChild(creatDiv); var childNum = parseInt(luka(".phoneContent")[0].getAttribute("_childOneDivNmu")); //console.log(childNum); luka(".phoneContent")[0].setAttribute("_childOneDivNmu",childNum+1); //var childNum = luka("#"); luka(".user1")[childNum].innerHTML = ""; luka(".user1")[childNum].innerHTML += "
"+ luka("#textInput").value +"
"; }; if(luka(".emo")[0].getAttribute("_logo") == 2) { creatDiv.className = "user2"; //id title className 可以用這種方式設(shè)置,style能設(shè)置,但是無法賦值 luka(".phoneContent")[0].appendChild(creatDiv); var childNum = parseInt(luka(".phoneContent")[0].getAttribute("_childTwoDivNmu")); //console.log(childNum); luka(".phoneContent")[0].setAttribute("_childTwoDivNmu",childNum+1); //var childNum = luka("#"); luka(".user2")[childNum].innerHTML = "" luka(".user2")[childNum].innerHTML += "
"+ luka("#textInput").value +"
" };*/ }; }; }

知識點

if else的運用,初學(xué)在js中使用正則表達式

使用insertBefore把元素插入到某個元素之前

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/89100.html

相關(guān)文章

  • javascript新手實例3-仿手機聊天界面if else運用

    摘要:今天給大家一個的小示例,其中我在文件里寫了很多注釋,有興趣的同學(xué)自己看注釋,另外對于聊天界面的顯示方式,我寫了兩種,大家也可以分別試試?yán)弦?guī)矩,先上圖代碼模擬手機短信發(fā)送發(fā)送代碼代碼正則也可以匹配,不過正則的效率 今天給大家一個if else的Javascript小示例,其中我在js文件里寫了很多注釋,有興趣的同學(xué)自己看注釋,另外對于聊天界面的顯示方式,我寫了兩種,大家也可以分別試試: ...

    Chaz 評論0 收藏0
  • javascript新手實例3-仿手機聊天界面if else運用

    摘要:今天給大家一個的小示例,其中我在文件里寫了很多注釋,有興趣的同學(xué)自己看注釋,另外對于聊天界面的顯示方式,我寫了兩種,大家也可以分別試試?yán)弦?guī)矩,先上圖代碼模擬手機短信發(fā)送發(fā)送代碼代碼正則也可以匹配,不過正則的效率 今天給大家一個if else的Javascript小示例,其中我在js文件里寫了很多注釋,有興趣的同學(xué)自己看注釋,另外對于聊天界面的顯示方式,我寫了兩種,大家也可以分別試試: ...

    Faremax 評論0 收藏0
  • 基于Vue2實現(xiàn)的仿手機QQapp(支持對話功能,滑動刪除....)—— 聊聊開發(fā)過程中踩到的一些坑

    摘要:使用進行的仿手機的的制作,在上,參考了設(shè)計師的作品,作品由個人獨立開發(fā),源碼中進行了詳細(xì)的注釋。關(guān)于接入聊天機器人遇到的跨域問題起初,天真的以為官方應(yīng)該提供了用的接口,然而沒有找到。 使用Vue2進行的仿手機QQ的webapp的制作,在ui上,參考了設(shè)計師kaokao的作品,作品由個人獨立開發(fā),源碼中進行了詳細(xì)的注釋。 由于自己也是初學(xué)Vue2,所以注釋寫的不夠精簡,請見諒。 目前已實...

    williamwen1986 評論0 收藏0
  • 如何做一個自己的開源聊天項目?(仿微信)

    摘要:一個輕量級高效率的支持聊天與物聯(lián)網(wǎng)的通訊框架從月初到現(xiàn)在已經(jīng)大約已經(jīng)三個月了,由于一直沒有時間與精力很好的維護這個項目,心里一直有所歉意。希望本項目對你有所幫助,我的目標(biāo)暫定,一個小眾加物聯(lián)網(wǎng)的開源通訊項目。 篇幅較長,感謝閱讀。 萬事開頭難 在我決定做開源是因為自身工作接觸到大多數(shù)的項目都是基于開源大佬寫的框架,自覺慚愧,工作以來一直忙于業(yè)務(wù)與功能實現(xiàn),多多少少做過的幾個項目也沒能抽...

    Zachary 評論0 收藏0

發(fā)表評論

0條評論

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