qq聊天框

布局样式
<style type="text/css">
   //全局样式
    *{
     margin:0;padding:0;
     list-style: none;
}
  //外层最大盒子样式
    .da{
      width:573px;
      height:550px;
      border:1px solid #000;
      margin:0 auto;
}
  //ul样式
    .items{
       width:573px;
       height:300px;
       overflow:auto;
}
  //文本域样式
    #wby{
       width:572px;
       height:150px;
        border:none;
}
  按钮样式
    #dj,#dj1{
         width:50px;
         background:skyblue;
         outline-style: none;
          height:30px;
}
    #dj{margin-left:400px;}
     //给头像追加的样式addclass
    .tu{width:50px;margin:5px;}
    //给qq名称追加的样式
    .ys1{width:400px;color:blue;margin-left:70px;margin-top:-60px;}
     //给聊天内容追加的样式
    .ys2{width:490px;background:#ccc;padding:5px;margin-left:70px;}
    给ul中添加的每一个li追加的样式
    .ys3{margin-bottom:15px;}
</style>
</head>
<body>
    //布局
   <div class="da">
      //ul为聊天页面,存储聊天头像,qq名称,内容
       <ul class="items"></ul>
       <img src="image/q1捕获.PNG" alt="" />
        //文本域用来输入聊天内容
       <textarea name="" id="wby" cols="30" rows="10"></textarea>
       <button id="dj">关闭(c)</button>
       <button id="dj1">发送(s)</button>
   </div>  
</body>
  //jquery部分
<script type="text/javascript" src="js/jquery-3.4.0.min.js"></script>
<script type="text/javascript">
   //声明一个数组存放qq名称,随机取用
    var arr=["帅帅","亨利","丁旭"];
   //声明头像的序号,随机取用
    var arr1=[2,3,4];
   //m到n之间随机数的封装函数
    function num(m,n){
        return Math.round(Math.random()*(n-m)+m);
    }
   //为页面加载绑定方法
    $(function(){
      //找到ul节点以类名方式
      var ul=$(".items");
    //为发送按钮添加点击事件
      $(dj1).click(function(){
     //判断文本域内容是否为空,如果为空则提示输入内容,并且不能执行下一步
        if(wby.value==""){
            alert("请输入");
            return;
        }
    //创建一个li标签,
        var li=$("<li></li>");
     //创建一个img标签
        var imgs=$("<img src='' alt=''>");
    //创建一个标题标签
        var h3=$("<h3></h3>");
     //创建一个p标签
        var p=$("<p></p>")
      //声明val为文本域的值
        var val=wby.value
      //设置p的内容为文本域的输入内容
        p.html(val);
     //给p添加上边设好的样式ys2
        p.addClass("ys2")
      将p添加到li中
        p.appendTo(li);
     //给文本域一个空值,可以再次输入新的内容
        wby.value="";
     //声明sum为随机数,范围为0到数组长度
        var sum=num(0,arr.length-1);
       //h3为随机的名字
        h3.html(arr[sum]);
       //为h3追加样式ys1
        h3.addClass("ys1")
      //设置图片的路径,随机图片作为头像
        imgs.attr({"src":"image/"+arr1[sum]+".jpg"});
      //给图片添加样式tu
        imgs.addClass("tu")
      //h3前置添加到li中
        h3.prependTo(li);
      //img前置添加到li中
        imgs.prependTo(li);
       //li追加样式ys3
        li.addClass("ys3")
     //li添加到ul中
        li.appendTo(ul)

      })

    })

</script>
</html>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现类似QQ聊天的效果,可以使用HTML/CSS/JavaScript进行开发。下面是一种实现方案: 1. 使用HTML结构来定义聊天的布局,包括聊天的宽度、高度、背景色等。 2. 通过CSS样式来美化聊天的外观,包括边、阴影、圆角等。 3. 使用JavaScript来实现聊天的功能,包括自动滚动、输入自适应高度、发送消息等。 下面是一个简单的HTML代码示例: ``` <div class="chat-box"> <div class="message-list"> <div class="message received">你好呀!</div> <div class="message sent">我是来测试聊天的</div> <div class="message received">好的,没问题</div> </div> <div class="input-box"> <textarea class="input-field"></textarea> <button class="send-btn">发送</button> </div> </div> ``` 其中,`.chat-box`是整个聊天的容器,`.message-list`是消息列表,`.message`表示每一条消息,`.received`表示接收到的消息,`.sent`表示发送的消息,`.input-box`是输入和发送按钮的容器,`.input-field`是输入,`.send-btn`是发送按钮。 接下来,使用CSS样式来美化聊天,例如: ``` .chat-box { width: 400px; height: 500px; background-color: #fff; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); overflow-y: auto; } .message-list { padding: 10px; } .message { padding: 5px 10px; margin-bottom: 10px; border-radius: 5px; } .received { background-color: #eee; float: left; } .sent { background-color: #dcf8c6; float: right; } .input-box { padding: 10px; box-sizing: border-box; border-top: 1px solid #ddd; overflow: hidden; } .input-field { width: 100%; height: 40px; resize: none; border: none; } .send-btn { float: right; margin-top: 8px; padding: 6px 10px; background-color: #4CAF50; color: #fff; border: none; border-radius: 3px; cursor: pointer; } ``` 最后,使用JavaScript来实现聊天的功能,例如: ``` // 自动滚动到底部 var messageList = document.querySelector('.message-list'); messageList.scrollTop = messageList.scrollHeight; // 输入自适应高度 var inputField = document.querySelector('.input-field'); inputField.addEventListener('input', function() { this.style.height = 'auto'; this.style.height = this.scrollHeight + 'px'; }); // 发送消息 var sendBtn = document.querySelector('.send-btn'); sendBtn.addEventListener('click', function() { var inputField = document.querySelector('.input-field'); var messageList = document.querySelector('.message-list'); var content = inputField.value.trim(); if (content) { var message = '<div class="message sent">' + content + '</div>'; messageList.innerHTML += message; inputField.value = ''; inputField.style.height = '40px'; messageList.scrollTop = messageList.scrollHeight; } }); ``` 这样,一个简单的聊天就完成了。需要注意的是,不同的UI设计可能会有不同的实现方案,上述仅供参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值