Calculator Tools Calculator Tools
Create

Pokédex Viewer

Jan 8, 2024

About this app

View Pokémon information based on National Dex number

Pokédex Viewer Pokédex Viewer

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>Pokédex Viewer</title>
<meta name="description" content="View Pokémon information based on National Dex number">
<meta name="keywords" content="Pokédex, Pokémon, National Dex, Pokémon information">

<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">

<script type="text/javascript">
try {
document.addEventListener("DOMContentLoaded", function() {
// Function to fetch Pokémon data based on National Dex number
function getPokemonData(number) {
// Fetch Pokémon data from the PokéAPI
fetch(`https://pokeapi.co/api/v2/pokemon/${number}`)
.then(response => response.json())
.then(data => {
// Display Pokémon information
displayPokemonInfo(data);
})
.catch(error => {
console.log(error);
});
}

// Function to display Pokémon information
function displayPokemonInfo(data) {
// Clear the previous Pokémon info
$("#pokemon-info").html("");

// Create the Pokémon info elements
const name = $("<h2>").text(data.name);
const image = $("<img>").attr("src", data.sprites.front_default);
const dexEntry = $("<p>").text(data.species.flavor_text_entries[0].flavor_text);
const baseStats = $("<p>").text(`Base Stats: ${data.stats.map(stat => stat.base_stat).join(", ")}`);
const totalStats = $("<p>").text(`Total: ${calculateTotalStats(data.stats)}`);

// Append the Pokémon info elements to the container
$("#pokemon-info").append(name, image, dexEntry, baseStats, totalStats);
}

// Function to calculate the total stats of a Pokémon
function calculateTotalStats(stats) {
return stats.reduce((total, stat) => total + stat.base_stat, 0);
}

// Event listener for the form submission
$("#pokemon-form").on("submit", function(event) {
event.preventDefault();

// Get the input value
const number = $("#pokemon-number").val();

// Call the function to fetch Pokémon data
getPokemonData(number);
});
});

} catch (error) {
throw error;
}
</script>

<style>
body {
background-color: #f4f4f4;
font-family: 'Open Sans', sans-serif;
}

.container {
max-width: 500px;
margin: 0 auto;
padding: 20px;
}

h1 {
text-align: center;
margin-bottom: 30px;
color: #333;
}

form {
text-align: center;
margin-bottom: 30px;
}

input[type="number"] {
padding: 10px;
font-size: 16px;
}

input[type="submit"] {
padding: 10px 20px;
font-size: 16px;
background-color: #4CAF50;
color: #fff;
border: none;
cursor: pointer;
}

#pokemon-info {
text-align: center;
}

h2 {
margin-bottom: 10px;
color: #333;
}

img {
margin-bottom: 10px;
max-width: 200px;
}

p {
margin-bottom: 10px;
color: #888;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>Pokédex Viewer</h1>
<form id="pokemon-form">
<input type="number" id="pokemon-number" min="1" max="1025" placeholder="Enter National Dex Number" required>
<input type="submit" value="Search">
</form>
<div id="pokemon-info"></div>
</div>
</body>
</html>