Skip to main content

Exercise 12: Chat Box (Finals Interactive)

 


(CODE FOR HTML:)

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title> Chat Box </title>

<link rel="stylesheet" href="Exercise12Chatbox.css">

</head>


<body>


<section>


<button class="chat-btn"> <b> CHAT </b> </button>

<div id="chat-container" onclick="changeColor()" class="chat-popup">

<div class="chat-area">

<div class="income-msg">

<span class="msg"> Rj: Hi! I Hope you doing well. Keep safe. See you soon </span>

</div>

</div>

<div class="input-area">

<input id="name-input" type="name" size="12" style="margin-right:8px;" placeholder="Type your name">

<input id="message-input" type="text" placeholder="Type your message here">

<input type="color" id="colorpicker" class="colors" value="#cbc6dc">

<button class="submit"> SEND </button>

</div>

</div>

</section>


<script src="Exercise12Chatbox.js"> </script>


</body>

</html>

(CODE FOR CSS:)

*{

margin: 0;

padding: 0;

box-sizing: border-box;

}


button {

border: none;

outline: none;

cursor: pointer;

}


body {

font-family: Arial, Consolas, Calibri (body);

background-color: #f28383;

display: flex;

justify-content: center;

height: 100vh;

width: 100%;

}


section {

max-width: 1100px;

margin: auto;

text-align: center;

padding: 0 1.5rem;

}


h1 {

font-size: 3rem;

margin-bottom: 2rem;

}


.chat-btn {

position: fixed;

right: 50px;

bottom: 50px;

background: white;

color: black;

width: 60px;

height: 60px;

border-radius: 50%;

opacity: 0.8;

transition: opacity 0.3s;

box-shadow: 0 5px 5px rgba(0,0,0,0.4);

}


.chat-btn:hover, .submit:hover, .colors:hover {

opacity: 1;

}


.chat-popup {

display: none;

position: fixed;

bottom: 80px;

right: 120px;

height: 400px;

width: 425px;

background-color: #cbc6dc;

flex-direction: column;

justify-content: space-between;

padding: 0.75rem;

box-shadow: 5px 5px 5px rgba(0,0,0,0.4);

border-radius: 10px;

}


.show {

display: flex;

}


.chat-area{

height: 80%;

overflow-y: auto;

overflow-x: hidden;

}


.income-msg {

display: flex;

align-items: center;

}


.rj {

width: 45px;

height: 45px;

border-radius: 50%;

object-fit: cover;

}


.income-msg .msg {

background-color: white;

color: black;

padding: 0.6rem;

border-radius: 8px;

margin-left: 1rem;

box-shadow: 0 2 5px rgba(0,0,0,0.4);

border: 1px solid black;

}


.input-area {

position: relative;

display: flex;

justify-content: center;

}


input [type="text"], input [type="name"] {

width: 100%;

border: 1px solid #ccc;

font-size: 1rem;

border-radius: 5%;

height: 2.2rem;

padding: 2px;

}


.colors {

margin-left: 0.5rem;

background-color: white;

color: white;

display: flex;

justify-content: center;

align-items: center;

border-radius: 5px;

opacity: 0.7;

}


.submit {

padding: 0.25rem 0.5rem;

margin-left: 0.5rem;

background-color: white;

color: black;

display: flex;

justify-content: center;

align-items: center;

border-radius: 5px;

border: 1px solid gray;

opacity: 0.7;

}


.out-msg {

display: flex;

justify-content:flex-end;

align-items: center;

}


.my-msg {

display: flex;

justify-content: flex-end;

margin: 0.75rem;

padding: 0.6rem;

background-color: white;

border-radius: 8px;

box-shadow: 0 2px, 5px rgba (0,0,0,0.4);

border: 1px solid black;

word-break: break-all;

}


@media (max-width:500px){

.chat-popup{

bottom: 120px;

right: 20%;

width: 80vw;

}

}


(CODE FOR JS:)

const popup = document.querySelector('.chat-popup');

const chatBtn = document.querySelector('.chat-btn');

const submitBtn = document.querySelector('.submit');

const chatArea = document.querySelector('.chat-area');

const inputElm = document.querySelector('input');

const nameInput = document.getElementById('name-input');

const messageInput = document.getElementById('message-input');


chatBtn.addEventListener('click', ()=>{

popup.classList.toggle('show');

})


function changeColor() {

document.getElementById("chat-container").style.backgroundColor = 

document.getElementById("colorpicker").value;

}


submitBtn.addEventListener('click', ()=>{

let name = nameInput.value;

let message = messageInput.value;

let temp =

`<div class="out-msg">

<span class="my-msg">${name}: ${message}</span>

</div>`;

chatArea.insertAdjacentHTML("beforeEnd", temp);

nameInput.value = '';

messageInput.value = '';

})

Comments

Popular posts from this blog

Exercise 10: Animation (Finals Web Prog)

(Code for HTML:) <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Exercise 010 Animated Web page</title> <link rel="stylesheet" href="Exercise10AnimatedWebpage.css"> </head> <body> <div> <h1 style="font-size:40px;"> ABOUT MYSELF  </h1> </div> <br> <br> <br> <br> <br> <br> <br> <br>  <p style="text-align: justify; text-indent: 50px;">  Hi I'm Jillian Marren Dela Cruz. You can call me "Jill or Jillian" i'm currently 3rd year Multimedia Arts Student. 20 years of Age. I chose multimeida because i want to enchance my skills and i'm willing to learn about everything. I'm November Babies and My zodiac sign is Sagittarius. The Sagittarius Traits is Curious and energetic, Sagittarius is one of the biggest travelers among all...

Exercise 12-14: Responsive Web Design, Tutorial Web Page and Activities Compilation

 PROJECT; Tutorial about how to do the Exercise 7: Select Box Price List First the Html code for this exercise is put the usually code the "<!DOCTYPE html> <html> <head>"  if you don't put this usually code then your labored to be made is nonsense so you need this and we will go to put this meta name "<meta name="viewport" content="width=device-width, initial-scale=1">" and the Title of what exercise are you doing like this "<title>Exercise 007: JavaScript Selected Value</title>"  and also you will link this html to the .css code or file like this  "<link rel="stylesheet" href="Exercise007SelectedValueinte2.css"> </head>" Next we will go to the main exercise that we will do how to do the Price List  don't forget the body "<body>" and like the title the main font of this exercise "<h1 class="font1"> Products & Pr...

Image

<!DOCTYPE html> <html> <head> <style> header { position:fixed; font-family: 'Arial Black'; top:0px; left:0px; width:98%; height:10%; color:#FFFFFF; background-color: #CBC6DC; background-repeat: no-repeat; background-attachment: fixed; background-size: 200% 50%; font-size: 50px; padding:15px; } footer {   text-align: center;   padding-top:20px;   padding-right: 200px;   padding-bottom: 700px;   padding-left: 325px;   background-color: #FFFFF;   color: black;   font-size: 12px;   width: 500px; }  body { background-image: url('jillian.jpg'); background-repeat: no-repeat; background-attachment: fixed;yy background-size: 100% auto; padding: 90px; color: white; font-family: "Arial Black"; font-size: 15px; text-align: center; } .frame1 { background-color: #CBC6DC; color: #FFFFFF; font-family: 'Arial Black'; margin-left: 0px; padding-top: 10px; padding: 10px; float: left; width: 517px; } .frame2 { backgr...