10 Commits
1.0 ... 1.1

Author SHA1 Message Date
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 84 additions and 35 deletions

View File

@@ -1,8 +1,8 @@
# Randomizer Application # Randomizer Application
How to install: How to use:
1. Download the zip file 1. Visit the Github pages page for the app: https://oskar-mikael.github.io/randomize-app/
2. Extract the folder and place it where you want it 2. Start adding items and randomize
3. Open *index.html* in your browser
4. Start using the app 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. 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"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css"> <link rel="stylesheet" href="style.css">
<link href="https://fonts.googleapis.com/css2?family=Titillium+Web&display=swap" rel="stylesheet"> <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"> <link rel="icon" type="img/png" href="favicon.png">
<title>Randomize App</title> <title>Randomize App</title>
</head> </head>
@@ -26,7 +28,9 @@
</h2> </h2>
<input id="input" autocomplete="off"><br> <input id="input" autocomplete="off"><br>
<p id="inputError"></p> <p id="inputError"></p>
<form>
<button type="submit" id="add">Add item</button> <button type="submit" id="add">Add item</button>
</form>
</div> </div>
<div class="box2"> <div class="box2">
@@ -40,13 +44,16 @@
Result: Result:
</h2> </h2>
<h3 id="result"></h3> <h3 id="result"></h3>
<button id="submit">Randomize</button> <form>
<button type="submit" id="submit">Randomize</button>
</form>
</div> </div>
</div> </div>
<button id="reset">Reset</button> <button id="reset">Reset</button>
<script src="script.js"></script> <script src="script.js"></script>
</body> </body>
</html> </html>

View File

@@ -1,47 +1,72 @@
let items = [] let items = []
let result = "" let result = ""
let input = document.querySelector("#input"); let input = $('#input');
input.addEventListener('keyup', function (event) {
if (event.keyCode === 13) {
event.preventDefault();
document.querySelector("#add").click();
}
$(function () {
$('form').on('submit', function (e) {
e.preventDefault();
})
}) })
document.querySelector("#add").addEventListener('click', addItem);
document.querySelector("#submit").addEventListener('click', displayResult); $(input).on('keypress', function (e) {
document.querySelector("#reset").addEventListener('click', reset); 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)
});
function addItem() { function addItem() {
if (input.value.length < 1) { if (input.val().length < 1) {
document.querySelector("#inputError").innerHTML = "Add an item please"; $('#inputError').html("Add an item please");
} else { } else {
items.push(document.querySelector("#input").value) items.push($(input).val());
let ul = document.querySelector("#itemlist"); let ul = $('#itemlist');
let li = document.createElement('li'); let li = document.createElement('li');
li.appendChild(document.createTextNode(input.value)); let img = document.createElement('img')
ul.appendChild(li) li.append($(input).val());
document.querySelector("#input").style.border = "2px solid black"; ul.append(li);
document.querySelector("#input").value = ''; li.append(img);
document.querySelector("#inputError").innerHTML = ""; $(img).addClass('delete')
$(img).attr('src', '/close.png');
$(input).css('border', '1px solid black');
$(input).val('');
$('#inputError').html("")
} }
} }
function displayResult() { function displayResult() {
if (items.length < 1) { if (items.length < 1) {
document.querySelector("#result").innerHTML = "Error: Add atleast 1 item" $('#result').html('Error: Add atleast 1 item')
document.querySelector("#input").style.border = "2px solid red" $(input).css('border', '2px solid red');
} else { } else {
result = items[Math.floor(Math.random() * items.length)]; result = items[Math.floor(Math.random() * items.length)];
document.querySelector("#result").innerHTML = result $('#result').html(result)
$('#result').hide().fadeIn(1000);
} }
} }
function reset() {
window.location.reload();
}

View File

@@ -22,13 +22,14 @@ button {
padding: 1rem 1.5rem; padding: 1rem 1.5rem;
border-radius: 5px; border-radius: 5px;
background-color: burlywood; background-color: burlywood;
outline: none;
cursor: pointer; cursor: pointer;
border: none;
} }
ol { ol {
padding: 0; padding: 0;
margin-bottom: 5rem; margin-bottom: 5rem;
list-style-type: none;
} }
ol>li { ol>li {
@@ -44,3 +45,19 @@ ol>li {
#reset { #reset {
margin-top: 5rem; margin-top: 5rem;
} }
.delete {
margin-left: 2rem;
width: 1rem;
cursor: pointer;
}
.delete:hover {
color: rgb(0, 0, 0);
}
@media screen and (max-width:768px) {
#grid {
grid-template-columns: 1fr;
}
}