博客列表 >实例演示 id,class,标签和css选择器获取元素的方法+实战: 在线聊天机器人

实例演示 id,class,标签和css选择器获取元素的方法+实战: 在线聊天机器人

Belifforz的博客
Belifforz的博客原创
2018年09月16日 19:18:11743浏览
  1. 演示 id.class.标签和css选择器获取元素的方法

    实例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <div>
        <ul id="ul1">
            <li id="nav1">导航1</li>
            <li id="nav2">导航2</li>
            <li id="nav3">导航3</li>
        </ul>
    </div>
    <div>
        <table>
            <tr class="tr1">
                <td class="name">111</td>
                <td class="name">222</td>
                <td class="name">333</td>
            </tr>
        </table>
    </div>
    <script>
        //通过id获取
        let list1 = document.getElementById('nav1');
    
        //通过class获取
        let list2 = document.getElementsByClassName('name')[0];
        let list3 = document.getElementsByClassName('name').item(1);
        let list4 = document.getElementsByClassName('tr1')[0].getElementsByClassName('name')[2];
        list4.style.backgroundColor='red';
    
        //标签选择器
        let lists = document.querySelectorAll('li');
    
        //通过css选择器
        let list5 = document.querySelector('#name');
        list5 = document.querySelectorAll('#name')[0];
    
    </script>
    </body>
    </html>

    运行实例 »

    点击 "运行实例" 按钮查看在线实例


2.实战: 模拟在线聊天机器人

实例

<!DOCTYPE html>
<html lang="zh-Hans">
<head>
    <meta charset="UTF-8">
    <title>在线聊天机器人</title>
</head>
<style>
    body{
        background-color: skyblue;
    }
    .msg-box{
        width:350px;
        height:500px;
        margin:0 auto;
        border: 1px solid black;
        background-color: ghostwhite;
        overflow:auto;
    }
    p{
        text-align: center;
    }
    .msg{
        width:350px;
        margin:0 auto;
        height:50px;
    }
    textarea{
        width:290px;
        height:50px;
        margin-top: 10px;
        border-radius: 10px;
        resize:none;
    }
    button{
        background-color: #bc1322;
        border:0;
        width:50px;
        height:30px;
        border-radius: 10px;
    }
    ul{
        padding: 5px;
    }
    ul li{
        list-style-type: none;
        min-height:30px;
        margin:5px;
        clear:both;
    }
    img{
        border-radius: 50%;
        /*float:right;*/
    }
    span{
        display: inline-block;
        background-color: lightgrey;
        border-radius: 10px 0 10px 10px;
        max-width:260px;
        min-width: 30px;
        min-height: 30px;
        /*float:right;*/
        margin: 0 5px 5px 0;
        padding:0 5px;
        line-height: 30px;
    }
</style>
<body>
<p>在线聊天机器人</p>
<div class="msg-box">
    <ul>
    </ul>
</div>
<div class="msg">
    <table>
        <tr>
            <td><textarea name="msg" id="msg" cols="50" rows="4" ></textarea></td>
            <td><button type="button">发送</button></td>
        </tr></table>
</div>
<script>
    let btn = document.getElementsByTagName('button')[0];
    let pic1 = "<img src='http://dwz.cn/Ht3qWIsK' width='30px' style='float:right'>";
    let pic2 = "<img src='http://dwz.cn/KnhVYsJg' width='30px' style='float:left'>";
    let all = document.getElementsByTagName('div')[0];
    let i = 0;
    btn.onclick = function(){
        let msg_box = document.getElementsByTagName('textarea')[0];
        let msg = msg_box.value;

        //显示到聊天框
        if(msg.length>0){
            i++;

            msg_box.value='';
            let li = document.createElement('li');
            li.innerHTML =pic1 +'<span style="float:right;background-color: #0e90d2">'+msg+'</span>';

            let ul = document.getElementsByTagName('ul')[0];
            if( i>=50){
                ul.innerHTML = '';
            }
            ul.appendChild(li);
            all.scrollTop = all.scrollHeight;
            setTimeout(function(){
                let replace_msg = document.createElement('li');
                let msg_list =[
                '我也不知道怎么形容现在这种感觉,反正就是,不想活了。除非你亲我一下。',
                '你说走就走,从未顾虑过我的感受,见你第一眼就知道,你是一条难养的狗。',
                '坏人需要实力,败类更需要品位。',
                '时间是用来流浪的,身躯是用来相爱的,生命是用来遗忘的,而灵魂,是用来歌唱的。',
                '种草不让人去躺,不如改种仙人掌!',
                '混社会是个体力活儿,讲究四门功课:闪转腾挪。',
                '每当冲锋号响起,我就赶紧躲进壕沟里,因为:我是卧底!',
                '就你这个样子,这个年龄,已经跌破发行价了。',
                '你走你的过街天桥,我过我的地下通道。',
                '为什么一看书,就困呢?因为书,是梦开始的地方。',
                '提问:为什么暑假一定比寒假长?回答:因为热胀冷缩。',
                '心情不好的时候,我就半夜给别人打骚扰电话,把他们吵醒了,我就睡觉。',
                '我这人从不记仇,一般有仇我当场就报了。',
                '我的兴趣爱好可分为静态和动态两种,静态就是睡觉,动态就是翻身…',
                '每个人出生的时候都是原创,很可惜,很多人渐渐成了盗版。',
                '我哪是什么朴实,节俭,会过日子的人,我只是单纯的穷而已。',
                '待你长发及腰,我便开启双刀,十字斩加暴走,长发全带走!',
                '蚊子不可恶,可恶的是唐伯虎忘了给我们点蚊香。',
                '粗腿女生羡慕嫉妒各种小细腿,不管他是男是女。',
                '找不到被子长短边的时候,感觉整个人在做印度甩饼。',
                '听说女生上辈子造的孽越多,今世的胸就越大。',
                '我长不高的原因大概是因为一直在迷你。',
                '我的灵魂在唱歌在跳舞,只是肉体赖在床上。',
                '我有八十多种小辣条,现在考虑跟我做朋友还来得及。',
                '每次跟别人吵完架,等躺在床上的时候,才知道当时应该怎么骂。',
                '我好像对纸过敏,每次做作业都难受。',
                '他不理你怎么了,别担心,还有我,我也懒得理你。',
                '我是说呢为何咱俩总是混不熟,原来你特别喜欢见外啊。',
                '从小学到大学,唯一不变的就是一颗不想念书的心。',
                '考试:开卷和闭卷的不同就在于,一个在上面抄,一个在下面抄。',
                '怎么给MM过一个难忘的生日?先把她爆揍一顿,然后把广州最贵楼盘的房证送上,保证既难忘又惊喜!'
            ];
                let msg2 = msg_list[Math.floor(Math.random()*(msg_list.length-1))];
                replace_msg.innerHTML = pic2+'<span style="float:left;border-radius: 0 10px 10px 10px;">'+msg2+'</span>';
                ul.appendChild(replace_msg);
                all.scrollTop = all.scrollHeight;
            },2000);
        }else{
            alert('请输入内容');
        }
    }
</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议