20 Commits
1.0 ... main

Author SHA1 Message Date
Oskar Boström
978b15cb1e Update script.js 2024-06-03 09:19:10 +02:00
Oskar Boström
72477a5692 Update script.js 2024-02-20 11:57:32 +01:00
Oskar Boström
f71ac358a8 Update script.js 2023-11-27 12:01:35 +01:00
Oskar Boström
e9c44c3a11 Update script.js 2023-10-31 16:35:46 +01:00
Oskar Boström
940c95e015 Update script.js 2023-09-01 14:30:59 +02:00
Oskar Boström
57a5c06712 Update index.html 2023-02-21 15:05:01 +01:00
9c3071e2d1 Preset 2023-02-20 22:22:03 +01:00
7804d9208e Changed styling 2023-02-20 21:29:20 +01:00
4fcb90e380 Selecting number of items 2023-01-06 09:42:18 +01:00
Oskar-Mikael
c4b8f36815 File path change 2021-02-20 02:45:52 +01:00
Oskar-Mikael
944168eacb Add functionality for deleting list items 2021-02-20 02:37:28 +01:00
Oskar-Mikael
662ec518d4 Styling for delete button 2021-02-20 02:37:05 +01:00
Oskar-Mikael
2d243c2fbc Initial commit 2021-02-20 02:36:50 +01:00
Oskar-Mikael
939b3fb4f1 Change selectors and add fadeIn animation to result 2021-01-27 14:11:44 +01:00
Oskar-Mikael
a106a7a79a Update functions and variables to jQuery 2021-01-27 13:24:55 +01:00
Oskar-Mikael
a947b25605 Add CDN to jQuery 2021-01-27 13:24:15 +01:00
Oskar-Mikael
f6c215363a Merge branch 'main' of https://github.com/Oskar-Mikael/randomize-app into main 2021-01-27 00:06:03 +01:00
Oskar-Mikael
07a2505e08 Add mediaquery for smaller screens 2021-01-27 00:05:51 +01:00
Oskar Boström
8a24c35485 Update README.md 2021-01-26 20:32:31 +01:00
Oskar Boström
5908a09e75 Update README.md 2021-01-26 20:32:01 +01:00
5 changed files with 160 additions and 39 deletions

View File

@@ -1,8 +1,8 @@
# Randomizer Application
How to install:
1. Download the zip file
2. Extract the folder and place it where you want it
3. Open *index.html* in your browser
4. Start using the app
How to use:
1. Visit the Github pages page for the app: https://oskar-mikael.github.io/randomize-app/
2. Start adding items and randomize
Feel free to come with suggestions for new features
For quick access, save the website as a bookmark in you browser to quickly open it.

BIN
close.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

View File

@@ -6,6 +6,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<link href="https://fonts.googleapis.com/css2?family=Titillium+Web&display=swap" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.5.1.js"
integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous"></script>
<link rel="icon" type="img/png" href="favicon.png">
<title>Randomize App</title>
</head>
@@ -17,7 +19,7 @@
Randomizer app
</h1>
</header>
<div id="grid">
<div class="box1">
@@ -26,7 +28,16 @@
</h2>
<input id="input" autocomplete="off"><br>
<p id="inputError"></p>
<button type="submit" id="add">Add item</button>
<form>
<button type="submit" id="add">Add item</button>
</form>
<h3 style="margin-top: 2rem;margin-bottom: 1rem;">
Presets
</h3>
<div style="block">
<button type="submit" id="presetFootball">Football </button>
</div>
</div>
<div class="box2">
@@ -40,13 +51,38 @@
Result:
</h2>
<h3 id="result"></h3>
<button id="submit">Randomize</button>
<form>
<select id="selectNumber" class="dropdown">
<option value="1">
Pick 1
</option>
<option value="2">
Pick 2
</option>
<option value="3">
Pick 3
</option>
<option value="4">
Pick 4
</option>
<option value="5">
Pick 5
</option>
</select>
</form>
<button type="submit" id="submit">Randomize</button>
</div>
</div>
<button id="reset">Reset</button>
<div style="text-align: left; font-size:1rem;position:fixed;bottom:0">
&copy; 2023 Oskar Boström
</div>
<script src="script.js"></script>
</body>
</html>
</html>

112
script.js
View File

@@ -1,47 +1,101 @@
let items = []
let result = ""
let input = document.querySelector("#input");
input.addEventListener('keyup', function (event) {
if (event.keyCode === 13) {
event.preventDefault();
document.querySelector("#add").click();
}
let input = $('#input');
$(function () {
$('form').on('submit', function (e) {
e.preventDefault();
})
})
document.querySelector("#add").addEventListener('click', addItem);
document.querySelector("#submit").addEventListener('click', displayResult);
document.querySelector("#reset").addEventListener('click', reset);
$(input).on('keypress', function (e) {
if (e.which == 13) {
addItem();
}
});
$('#add').on('click', function () {
addItem()
})
$('#reset').on('click', function () {
location.reload();
});
$('#submit').on('click', function () {
displayResult()
});
$(document).on('click', 'img.delete', function () {
let deletedItem = $(this).closest('li')
let itemValue = $(this).closest('li').text()
let index = items.indexOf(itemValue);
if (index != -1) {
items.splice(index, 1);
}
deletedItem.remove();
console.log(itemValue)
});
$('button#presetFootball').click(function () {
let ul = $('#itemlist');
console.log(ul)
items = [];
items.push('Oskar', 'Emil', 'Kim', 'Mads', 'Mads C', 'Michal',)
// let ul = $('#itemlist');
items.forEach(function (item) {
let li = document.createElement('li');
let img = document.createElement('img')
li.append(item);
ul.append(li);
li.append(img);
$(img).addClass('delete')
$(img).attr('src', 'close.png');
$(input).css('border', '1px solid black');
$(input).val('');
$('#inputError').html("")
})
});
function addItem() {
if (input.value.length < 1) {
document.querySelector("#inputError").innerHTML = "Add an item please";
if (input.val().length < 1) {
$('#inputError').html("Add an item please");
} else {
items.push(document.querySelector("#input").value)
let ul = document.querySelector("#itemlist");
items.push($(input).val());
let ul = $('#itemlist');
let li = document.createElement('li');
li.appendChild(document.createTextNode(input.value));
ul.appendChild(li)
document.querySelector("#input").style.border = "2px solid black";
document.querySelector("#input").value = '';
document.querySelector("#inputError").innerHTML = "";
let img = document.createElement('img')
li.append($(input).val());
ul.append(li);
li.append(img);
$(img).addClass('delete')
$(img).attr('src', 'close.png');
$(input).css('border', '1px solid black');
$(input).val('');
$('#inputError').html("")
}
}
function displayResult() {
if (items.length < 1) {
document.querySelector("#result").innerHTML = "Error: Add atleast 1 item"
document.querySelector("#input").style.border = "2px solid red"
} else {
result = items[Math.floor(Math.random() * items.length)];
document.querySelector("#result").innerHTML = result
$('#result').html('Error: Add atleast 1 item')
$(input).css('border', '2px solid red');
return;
}
}
function reset() {
window.location.reload();
let selectNumber = $('#selectNumber').val()
const shuffled = items.sort(() => 0.5 - Math.random());
result = shuffled.slice(0, selectNumber)
let resultText = '';
result.forEach(function (item) {
resultText += item + ', ';
});
$('#result').html(resultText.slice(0, -2))
$('#result').hide().fadeIn(1000);
}

View File

@@ -22,13 +22,14 @@ button {
padding: 1rem 1.5rem;
border-radius: 5px;
background-color: burlywood;
outline: none;
cursor: pointer;
border: none;
}
ol {
padding: 0;
margin-bottom: 5rem;
list-style-type: none;
}
ol>li {
@@ -43,4 +44,34 @@ ol>li {
#reset {
margin-top: 5rem;
}
.delete {
margin-left: 2rem;
width: 1rem;
cursor: pointer;
}
.delete:hover {
color: rgb(0, 0, 0);
}
.dropdown {
height: 50px;
border: 1px solid #ccc;
border-radius: 5px;
padding-left: 5px;
padding: 10px;
font-size: 18px;
font-family: 'Open Sans', sans-serif;
color: #555;
background-color: rgb(255, 255, 255);
background-image: none;
border: 1px solid rgb(41, 18, 18);
}
@media screen and (max-width:768px) {
#grid {
grid-template-columns: 1fr;
}
}