Multiplication with Blocks
Info
Created On: July 16, 2023
Created By:
AI
Model: gpt-3.5-turbo-16k-0613
Time: 14 seconds
Prompt Tokens: 803
Completion Tokens: 1112
Total Token Cost: 1915
Get This App On Your Website
Copy Code
1. Copy the code above with the iframe and link.
2. Paste the code into your website.
3. Resize the iframe to fit your website.
Javascript, HTML, CSS Code
Copy
<html>
<head>
<script type="text/javascript"> window.addEventListener('error', function(event) { var message = JSON.parse(JSON.stringify(event.message)); var source = event.filename; var lineno = event.lineno; var colno = event.colno; var error = event.error; window.parent.postMessage({ type: 'iframeError', details: { message: message, source: source, lineno: lineno, colno: colno, error: error ? error.stack : '' } }, '*'); }); window.addEventListener('unhandledrejection', function(event) { window.parent.postMessage({ type: 'iframePromiseRejection', details: { reason: event.reason } }, '*'); }); </script>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Multiplication with Blocks</title>
<meta name="description" content="Visualize multiplication with blocks">
<meta name="keywords" content="multiplication, blocks">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<style>
body {
background-color: #f5f5f5;
font-family: 'Roboto', sans-serif;
}
.container {
margin-top: 50px;
}
h1 {
text-align: center;
margin-bottom: 30px;
}
.input-group {
margin-bottom: 30px;
}
.input-group label {
font-size: 18px;
font-weight: bold;
margin-right: 10px;
}
.input-group input {
width: 100px;
height: 40px;
font-size: 18px;
text-align: center;
}
.btn-generate {
display: block;
margin: 0 auto;
width: 150px;
height: 40px;
font-size: 18px;
font-weight: bold;
text-align: center;
background-color: #007bff;
color: #fff;
border-radius: 5px;
cursor: pointer;
}
.block-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.block-row {
display: flex;
justify-content: center;
}
.block {
width: 40px;
height: 40px;
background-color: #007bff;
margin: 5px;
border-radius: 5px;
transition: transform 0.3s;
}
.block.active {
transform: scale(1.2);
}
.block.labelled {
position: relative;
}
.block.labelled:after {
content: attr(data-value);
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: #fff;
font-size: 12px;
}
.btn-reset {
display: block;
margin: 0 auto;
width: 150px;
height: 40px;
font-size: 18px;
font-weight: bold;
text-align: center;
background-color: #dc3545;
color: #fff;
border-radius: 5px;
cursor: pointer;
}
</style>
<link rel="canonical" href="https://calculator.tools/prompt/1769/">
<meta charset="utf-8">
</head>
<body>
<div id="main-container" class="container">
<h1>Multiplication with Blocks</h1>
<div class="input-group">
<label for="num1">Number 1:</label>
<input type="number" id="num1" min="1" max="10">
</div>
<div class="input-group">
<label for="num2">Number 2:</label>
<input type="number" id="num2" min="1" max="10">
</div>
<button class="btn-generate">Generate Blocks</button>
<div class="block-container"></div>
<button class="btn-reset">Reset</button>
</div>
<script type="text/javascript">
$(document).ready(function () {
// Generate blocks based on input numbers
$(".btn-generate").click(function () {
var num1 = parseInt($("#num1").val());
var num2 = parseInt($("#num2").val());
var product = num1 * num2;
// Clear existing blocks
$(".block-container").empty();
// Generate blocks for each row and column
for (var i = 0; i < num1; i++) {
var row = $("<div>").addClass("block-row");
for (var j = 0; j < num2; j++) {
var block = $("<div>").addClass("block");
block.attr("data-value", product);
row.append(block);
}
$(".block-container").append(row);
}
// Animate blocks on click
$(".block").click(function () {
$(this).toggleClass("active");
});
});
// Reset blocks
$(".btn-reset").click(function () {
$(".block").removeClass("active");
});
});
</script>
<script type="text/javascript"> var localStoragePrefix = "ct-{{ cachebreaker }}"; var lastSave = 0; function saveLocal(data) { if (Date.now() - lastSave < 1000) { return; } let cookie = localStoragePrefix + "=" + JSON.stringify(data) + "; path=" + window.location.pathname + "'; SameSite=Strict"; cookie += "; expires=" + new Date(Date.now() + 1000 * 60 * 60 * 24 * 365 * 1000).toUTCString(); document.cookie = cookie; lastSave = Date.now(); } function loadLocal() { var cookiePrefix = localStoragePrefix + "="; var cookieStart = document.cookie.indexOf(cookiePrefix); if (cookieStart > -1) { let cookieEnd = document.cookie.indexOf(";", cookieStart); if (cookieEnd == -1) { cookieEnd = document.cookie.length; } var cookieData = document.cookie.substring(cookieStart + cookiePrefix.length, cookieEnd); return JSON.parse(cookieData); } } </script>
<script type="text/javascript"> window.addEventListener('load', function() { var observer = new MutationObserver(function() { window.parent.postMessage({height: document.documentElement.scrollHeight || document.body.scrollHeight},"*"); }); observer.observe(document.body, {attributes: true, childList: true, subtree: true}); window.parent.postMessage({height: document.documentElement.scrollHeight || document.body.scrollHeight},"*"); }); </script>
</body>
</html>