In JavaScript, you can perform various types of calculations using arithmetic operators. Here are some common arithmetic operators and examples of how to perform calculations in JavaScript:
1. Addition (+):
2. Subtraction (-):
3. Multiplication (*):
4. Division (/):
5. Modulus (%) (returns the remainder of a division):
6. Exponentiation () (raises a number to the power of another):
7. Order of Operations:
- JavaScript follows the standard order of operations: parentheses first, then exponentiation, multiplication and division, and finally addition and subtraction.
8. Using Variables:
9. Math Object:
- JavaScript provides the
10. Using Functions:
- You can create functions to perform specific calculations and reuse them throughout your code:
By utilizing these arithmetic operators, mathematical functions, and JavaScript's capabilities, you can easily perform calculations and solve numerical problems within your code.
1. Addition (+):
let sum = 5 + 3; // sum will be 8
2. Subtraction (-):
let difference = 10 - 4; // difference will be 6
3. Multiplication (*):
let product = 6 * 4; // product will be 24
4. Division (/):
let quotient = 20 / 5; // quotient will be 4
5. Modulus (%) (returns the remainder of a division):
let remainder = 13 % 5; // remainder will be 3
6. Exponentiation () (raises a number to the power of another):
let result = 2 ** 3; // result will be 8 (2 to the power of 3)
7. Order of Operations:
- JavaScript follows the standard order of operations: parentheses first, then exponentiation, multiplication and division, and finally addition and subtraction.
8. Using Variables:
let num1 = 10;
let num2 = 5;
let total = num1 + num2; // total will be 15
9. Math Object:
- JavaScript provides the
Math object with built-in methods for more complex mathematical operations. For example:let squareRoot = Math.sqrt(16); // squareRoot will be 4
10. Using Functions:
- You can create functions to perform specific calculations and reuse them throughout your code:
function addNumbers(a, b) {
return a + b;
}
let sum = addNumbers(8, 3); // sum will be 11
By utilizing these arithmetic operators, mathematical functions, and JavaScript's capabilities, you can easily perform calculations and solve numerical problems within your code.
Media is too big
VIEW IN TELEGRAM
HeyGen 3.0 dropped new AI avatars that look real.
The viseme morphing appears slightly slow, but 99% of people won’t notice its AI-generated content.
Source | Artificial intelligence 🤖
The viseme morphing appears slightly slow, but 99% of people won’t notice its AI-generated content.
Source | Artificial intelligence 🤖
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Halloween Matching Puzzle</title>
<style>
/* Basic reset and background styling */
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: Arial, sans-serif;
}
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background-color: #1a1a1d;
color: #eee;
}
h1 {
text-align: center;
color: #f26d21;
margin-bottom: 20px;
}
/* Game Board */
.game-board {
display: grid;
grid-template-columns: repeat(4, 100px);
grid-gap: 15px;
}
/* Card Styles */
.card {
width: 100px;
height: 100px;
background-color: #333;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 2em;
color: transparent;
cursor: pointer;
transition: transform 0.2s;
}
.card.flip {
color: #fff;
background-color: #f26d21;
transform: rotateY(180deg);
}
.card.matched {
background-color: #333;
color: #333;
cursor: not-allowed;
}
/* Game Info */
.game-info {
margin-top: 20px;
text-align: center;
font-size: 1.2em;
color: #f26d21;
}
</style>
</head>
<body>
<div>
<h1>🎃 Halloween Matching Puzzle 👻</h1>
<div class="game-board" id="gameBoard"></div>
<div class="game-info" id="gameInfo">Attempts: 0</div>
</div>
<script>
// Halloween icons
const halloweenIcons = ["🎃", "👻", "🕸️", "🧛", "🧙", "🕷️", "💀", "🍬"];
const gameBoard = document.getElementById("gameBoard");
const gameInfo = document.getElementById("gameInfo");
// Duplicate and shuffle icons for pairs
let cards = [...halloweenIcons, ...halloweenIcons];
cards.sort(() => 0.5 - Math.random());
let firstCard = null;
let secondCard = null;
let attempts = 0;
let matches = 0;
// Render cards
cards.forEach(icon => {
const card = document.createElement("div");
card.classList.add("card");
card.innerHTML = icon;
card.addEventListener("click", () => flipCard(card));
gameBoard.appendChild(card);
});
// Flip card function
function flipCard(card) {
if (card.classList.contains("flip") || card.classList.contains("matched")) return;
card.classList.add("flip");
if (!firstCard) {
firstCard = card;
} else {
secondCard = card;
attempts++;
gameInfo.textContent =
checkForMatch();
}
}
// Check for a match
function checkForMatch() {
const isMatch = firstCard.innerHTML === secondCard.innerHTML;
if (isMatch) {
firstCard.classList.add("matched");
secondCard.classList.add("matched");
matches++;
if (matches === halloweenIcons.length) {
setTimeout(() => alert(
}
resetTurn();
} else {
setTimeout(() => {
firstCard.classList.remove("flip");
secondCard.classList.remove("flip");
resetTurn();
}, 1000);
}
}
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Halloween Matching Puzzle</title>
<style>
/* Basic reset and background styling */
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: Arial, sans-serif;
}
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background-color: #1a1a1d;
color: #eee;
}
h1 {
text-align: center;
color: #f26d21;
margin-bottom: 20px;
}
/* Game Board */
.game-board {
display: grid;
grid-template-columns: repeat(4, 100px);
grid-gap: 15px;
}
/* Card Styles */
.card {
width: 100px;
height: 100px;
background-color: #333;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 2em;
color: transparent;
cursor: pointer;
transition: transform 0.2s;
}
.card.flip {
color: #fff;
background-color: #f26d21;
transform: rotateY(180deg);
}
.card.matched {
background-color: #333;
color: #333;
cursor: not-allowed;
}
/* Game Info */
.game-info {
margin-top: 20px;
text-align: center;
font-size: 1.2em;
color: #f26d21;
}
</style>
</head>
<body>
<div>
<h1>🎃 Halloween Matching Puzzle 👻</h1>
<div class="game-board" id="gameBoard"></div>
<div class="game-info" id="gameInfo">Attempts: 0</div>
</div>
<script>
// Halloween icons
const halloweenIcons = ["🎃", "👻", "🕸️", "🧛", "🧙", "🕷️", "💀", "🍬"];
const gameBoard = document.getElementById("gameBoard");
const gameInfo = document.getElementById("gameInfo");
// Duplicate and shuffle icons for pairs
let cards = [...halloweenIcons, ...halloweenIcons];
cards.sort(() => 0.5 - Math.random());
let firstCard = null;
let secondCard = null;
let attempts = 0;
let matches = 0;
// Render cards
cards.forEach(icon => {
const card = document.createElement("div");
card.classList.add("card");
card.innerHTML = icon;
card.addEventListener("click", () => flipCard(card));
gameBoard.appendChild(card);
});
// Flip card function
function flipCard(card) {
if (card.classList.contains("flip") || card.classList.contains("matched")) return;
card.classList.add("flip");
if (!firstCard) {
firstCard = card;
} else {
secondCard = card;
attempts++;
gameInfo.textContent =
Attempts: ${attempts};checkForMatch();
}
}
// Check for a match
function checkForMatch() {
const isMatch = firstCard.innerHTML === secondCard.innerHTML;
if (isMatch) {
firstCard.classList.add("matched");
secondCard.classList.add("matched");
matches++;
if (matches === halloweenIcons.length) {
setTimeout(() => alert(
You won in ${attempts} attempts!), 500);}
resetTurn();
} else {
setTimeout(() => {
firstCard.classList.remove("flip");
secondCard.classList.remove("flip");
resetTurn();
}, 1000);
}
}
// Reset turn
function resetTurn() {
firstCard = null;
secondCard = null;
}
</script>
</body>
</html>
function resetTurn() {
firstCard = null;
secondCard = null;
}
</script>
</body>
</html>
🚀 Introducing Free SVG Icons Your Ultimate SVG Icon Search Engine Discover and access over 200,000 open-source SVG icons in one place. Our powerful search engine lets you: 🔍 Instantly search through our massive icon collection 🛸 Download icons with one click 📸 Copy SVG code directly to your clipboard ⛓️💥 Access 100% free, open-source icons Checkout More About Free SVG Icons here → https://freesvgicons.com/
Free SVG Icons
Iconbuddy — Free and Open Source SVG icons
Browse and download 300,000+ SVG icons from multiple open source icon libraries. Customize color, size, and export as SVG, PNG, JSX, or Base64.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hello in 99 Languages</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
color: #333;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
h1 {
color: #333;
}
ul {
list-style-type: none;
padding: 0;
}
li {
margin: 5px 0;
}
</style>
</head>
<body>
<h1>Hello in 99 Languages</h1>
<ul>
<li>English: Hello</li>
<li>Spanish: Hola</li>
<li>French: Bonjour</li>
<li>German: Hallo</li>
<li>Italian: Ciao</li>
<li>Portuguese: Olá</li>
<li>Russian: Привет</li>
<li>Chinese (Mandarin): 你好</li>
<li>Japanese: こんにちは</li>
<li>Korean: 안녕하세요</li>
<li>Arabic: مرحبا</li>
<li>Hindi: नमस्ते</li>
<li>Greek: Γειά σας</li>
<li>Dutch: Hallo</li>
<li>Turkish: Merhaba</li>
<li>Swedish: Hej</li>
<li>Norwegian: Hei</li>
<li>Danish: Hej</li>
<li>Finnish: Hei</li>
<li>Polish: Cześć</li>
<li>Hebrew: שלום</li>
<li>Thai: สวัสดี</li>
<li>Vietnamese: Xin chào</li>
<li>Indonesian: Halo</li>
<li>Filipino: Kamusta</li>
<li>Persian: سلام</li>
<li>Swahili: Jambo</li>
<li>Hungarian: Szia</li>
<li>Czech: Ahoj</li>
<li>Romanian: Salut</li>
<li>Ukrainian: Привіт</li>
<li>Bulgarian: Здравейте</li>
<li>Serbian: Здраво</li>
<li>Slovak: Ahoj</li>
<li>Croatian: Bok</li>
<li>Bosnian: Zdravo</li>
<li>Slovenian: Živjo</li>
<li>Estonian: Tere</li>
<li>Latvian: Sveiki</li>
<li>Lithuanian: Labas</li>
<li>Malaysian: Halo</li>
<li>Amharic: ሰላም</li>
<li>Afrikaans: Hallo</li>
<li>Albanian: Përshëndetje</li>
<li>Armenian: Բարեւ</li>
<li>Azerbaijani: Salam</li>
<li>Bengali: হ্যালো</li>
<li>Basque: Kaixo</li>
<li>Belarusian: Прывітанне</li>
<li>Georgian: გამარჯობა</li>
<li>Irish: Dia dhuit</li>
<li>Icelandic: Halló</li>
<li>Kazakh: Сәлем</li>
<li>Kurdish: Silav</li>
<li>Kinyarwanda: Muraho</li>
<li>Macedonian: Здраво</li>
<li>Mongolian: Сайн байна уу</li>
<li>Nepali: नमस्ते</li>
<li>Papiamento: Halo</li>
<li>Pashto: سلام</li>
<li>Samoan: Talofa</li>
<li>Scottish Gaelic: Halò</li>
<li>Sindhi: سلام</li>
<li>Sinhala: හෙලෝ</li>
<li>Somali: Salaan</li>
<li>Sundanese: Halo</li>
<li>Tajik: Салом</li>
<li>Uzbek: Salom</li>
<li>Tamil: வணக்கம்</li>
<li>Telugu: హలో</li>
<li>Tigrinya: ሰላም</li>
<li>Urdu: ہیلو</li>
<li>Wolof: Salaam</li>
<li>Yoruba: Pẹlẹ o</li>
<li>Zulu: Sawubona</li>
<!-- You can add more languages if needed -->
</ul>
</body>
</html>
<!-- Modal toggle -->
<button data-modal-target="default-modal" data-modal-toggle="default-modal" class="block text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800" type="button">
Toggle modal
</button>
<!-- Main modal -->
<div id="default-modal" tabindex="-1" aria-hidden="true" class="hidden overflow-y-auto overflow-x-hidden fixed top-0 right-0 left-0 z-50 justify-center items-center w-full md:inset-0 h-[calc(100%-1rem)] max-h-full">
<div class="relative p-4 w-full max-w-2xl max-h-full">
<!-- Modal content -->
<div class="relative bg-white rounded-lg shadow dark:bg-gray-700">
<!-- Modal header -->
<div class="flex items-center justify-between p-4 md:p-5 border-b rounded-t dark:border-gray-600">
<h3 class="text-xl font-semibold text-gray-900 dark:text-white">
Terms of Service
</h3>
<button type="button" class="text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm w-8 h-8 ms-auto inline-flex justify-center items-center dark:hover:bg-gray-600 dark:hover:text-white" data-modal-hide="default-modal">
<svg class="w-3 h-3" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14">
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"/>
</svg>
<span class="sr-only">Close modal</span>
</button>
</div>
<!-- Modal body -->
<div class="p-4 md:p-5 space-y-4">
<p class="text-base leading-relaxed text-gray-500 dark:text-gray-400">
With less than a month to go before the European Union enacts new consumer privacy laws for its citizens, companies around the world are updating their terms of service agreements to comply.
</p>
<p class="text-base leading-relaxed text-gray-500 dark:text-gray-400">
The European Union’s General Data Protection Regulation (G.D.P.R.) goes into effect on May 25 and is meant to ensure a common set of data rights in the European Union. It requires organizations to notify users as soon as possible of high-risk data breaches that could personally affect them.
</p>
</div>
<!-- Modal footer -->
<div class="flex items-center p-4 md:p-5 border-t border-gray-200 rounded-b dark:border-gray-600">
<button data-modal-hide="default-modal" type="button" class="text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800">I accept</button>
<button data-modal-hide="default-modal" type="button" class="py-2.5 px-5 ms-3 text-sm font-medium text-gray-900 focus:outline-none bg-white rounded-lg border border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700">Decline</button>
</div>
</div>
</div>
</div>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Enhanced Neon Glow Button</title>
<style>
/*
* Enhanced Neon Glow Button Style
* (c) 2024 3legsbird
.neon-button {
display: inline-block;
padding: 0.6em 1.5em;
font-family: inherit;
font-size: 1em;
font-weight: bold;
text-transform: uppercase;
color: #00eaff;
background-color: transparent;
border: 2px solid #00eaff;
border-radius: 0.4em;
text-align: center;
cursor: pointer;
position: relative;
overflow: hidden;
/* Neon Glow Effect */
box-shadow:
0 0 5px rgba(0, 234, 255, 0.5),
0 0 15px rgba(0, 234, 255, 0.4),
0 0 20px rgba(0, 234, 255, 0.6),
0 0 30px rgba(0, 234, 255, 0.8);
transition: color 0.3s ease, box-shadow 0.3s ease;
}
/* Glowing Hover Effect with Pulse */
.neon-button:hover {
color: #fff;
box-shadow:
0 0 10px rgba(0, 234, 255, 0.7),
0 0 20px rgba(0, 234, 255, 0.6),
0 0 30px rgba(0, 234, 255, 0.8),
0 0 40px rgba(0, 234, 255, 1),
0 0 50px rgba(0, 234, 255, 1);
}
/* Pulse Animation for Hover */
.neon-button::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 300%;
height: 300%;
background-color: rgba(0, 234, 255, 0.2);
border-radius: 50%;
transform: translate(-50%, -50%) scale(0);
transition: transform 0.6s ease;
pointer-events: none;
}
.neon-button:hover::after {
transform: translate(-50%, -50%) scale(1);
opacity: 0;
}
/* Active State - Slight Dim */
.neon-button:active {
color: #00eaff;
box-shadow:
0 0 5px rgba(0, 140, 154, 0.5),
0 0 10px rgba(0, 140, 154, 0.4),
0 0 15px rgba(0, 140, 154, 0.6),
0 0 20px rgba(0, 140, 154, 0.8);
}
/* Enhanced Focus for Accessibility */
.neon-button:focus-visible {
outline: 3px solid #00eaff;
outline-offset: 4px;
}
</style>
</head>
<body style="background-color: #111; display: flex; align-items: center; justify-content: center; height: 100vh; margin: 0;">
<button class="neon-button">Neon Glow</button>
</body>
</html>
`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>2D Collision Simulation</title>
<style>
body {
font-family: Arial, sans-serif;
display: flex;
flex-direction: column;
align-items: center;
margin: 0;
padding: 20px;
background-color: #f4f4f9;
}
canvas {
border: 2px solid #333;
border-radius: 5px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
margin-bottom: 15px;
}
.controls {
display: flex;
gap: 15px;
flex-wrap: wrap;
justify-content: center;
padding: 10px;
border-radius: 8px;
background-color: #e0e5ec;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
max-width: 400px;
}
.controls label {
display: flex;
flex-direction: column;
align-items: center;
font-size: 14px;
color: #333;
}
.controls input {
width: 60px;
padding: 5px;
margin-top: 5px;
border: 1px solid #ccc;
border-radius: 4px;
text-align: center;
}
.controls button {
padding: 8px 12px;
font-size: 14px;
color: white;
background-color: #007bff;
border: none;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.2s;
}
.controls button:hover {
background-color: #0056b3;
}
</style>
</head>
<body>
<canvas id="simulation" width="400" height="200"></canvas>
<div class="controls">
<label>
Block 1 Mass:
<input type="number" id="block1Mass" value="2" step="0.1">
</label>
<label>
Block 2 Mass:
<input type="number" id="block2Mass" value="3" step="0.1">
</label>
<button onclick="updateMasses()">Update Masses</button>
<button onclick="resetSimulation()">Reset Simulation</button>
</div>
<script>
const canvas = document.getElementById("simulation");
const ctx = canvas.getContext("2d");
let collisionCount = 0; // Counter for collisions
class Block {
constructor(x, y, width, height, mass, velocity, color) {
this.initialX = x; // Store initial position for resetting
this.x = x;
this.y = y;
this.width = width;
this.height = height;
this.mass = mass;
this.velocity = velocity;
this.color = color;
this.initialVelocity = velocity; // Store initial velocity for resetting
}
draw() {
ctx.fillStyle = this.color;
ctx.fillRect(this.x, this.y, this.width, this.height);
}
update() {
this.x += this.velocity;
this.checkLeftWallCollision();
}
checkLeftWallCollision() {
if (this.x <= 0) {
this.x = 0; // Correct position
this.velocity = -this.velocity;
collisionCount++; // Increment collision counter
}
}
reset() {
this.x = this.initialX;
this.velocity = this.initialVelocity;
}
}
let block1 = new Block(50, 80, 50, 50, 2, 0, "blue"); // Initial Mass = 2, Velocity = 2
let block2 = new Block(300, 80, 50, 50, 3, -1, "red"); // Initial Mass = 3, Velocity = -1
function detectCollision(b1, b2) {
return b1.x + b1.width >= b2.x && b1.x <= b2.x + b2.width;
}
function resolveCollision(b1, b2) {
const v1Final = (b1.velocity * (b1.mass - b2.mass) + 2 * b2.mass * b2.velocity) / (b1.mass + b2.mass);
const v2Final = (b2.velocity * (b2.mass - b1.mass) + 2 * b1.mass * b1.velocity) / (b1.mass + b2.mass);
b1.velocity = v1Final;
b2.velocity = v2Final;
collisionCount++; // Increment collision counter for block-to-block collision
}
function update() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
block1.update();
block2.update();
if (detectCollision(block1, block2)) {
resolveCollision(block1, block2);
}
block1.draw();
block2.draw();
ctx.fillStyle = "black";
ctx.font = "16px Arial";
ctx.fillText("Collisions: " + collisionCount, 10, 20);
requestAnimationFrame(update);
}
function updateMasses() {
const block1MassInput = parseFloat(document.getElementById("block1Mass").value);
const block2MassInput = parseFloat(document.getElementById("block2Mass").value);
if (block1MassInput > 0) block1.mass = block1MassInput;
if (block2MassInput > 0) block2.mass = block2MassInput;
collisionCount = 0; // Reset collision count on mass change
}
function resetSimulation() {
collisionCount = 0;
block1.reset();
block2.reset();
}
update();
</script>
</body>
</html>
const block1MassInput = parseFloat(document.getElementById("block1Mass").value);
const block2MassInput = parseFloat(document.getElementById("block2Mass").value);
if (block1MassInput > 0) block1.mass = block1MassInput;
if (block2MassInput > 0) block2.mass = block2MassInput;
collisionCount = 0; // Reset collision count on mass change
}
function resetSimulation() {
collisionCount = 0;
block1.reset();
block2.reset();
}
update();
</script>
</body>
</html>
`Fun APIs For Your Project(part-2)
Poems API:- https://poems.one/api/poem/#
brewerydb:- https://www.brewerydb.com/developers/docs
Fruityvice:- https://www.fruityvice.com/
Meme Generator:- https://imgflip.com/api
NASA:- https://api.nasa.gov/index.html
OpenUV:- https://www.openuv.io/
Poems API:- https://poems.one/api/poem/#
brewerydb:- https://www.brewerydb.com/developers/docs
Fruityvice:- https://www.fruityvice.com/
Meme Generator:- https://imgflip.com/api
NASA:- https://api.nasa.gov/index.html
OpenUV:- https://www.openuv.io/
Poems One
Poems API
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.css">
<!-- Optional Bootstrap theme -->
<link rel="stylesheet" href="bootstrap/css/bootstrap-theme.css">
</head>
<body>
<img src="img/bk.jpg" class="img-rounded" alt="Rounded Image">
<img src="img/bk.jpg" class="img-circle" alt="Circular Image">
<img src="img/bk.jpg" class="img-thumbnail" alt="Thumbnail Image">
<script src="bootstrap/js/jquery.js"></script>
<script src="bootstrap/js/bootstrap.js"></script>
</body>
</html>