Calculator Tools Calculator Tools

Pokédex Viewer

Jan 8, 2024

About this app

View Pokémon information based on National Dex number

Pokédex Viewer Pokédex Viewer

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>