WEBLEB
Startseite
Editor
Anmelden
Pro
Deutsch
English
Français
Español
Português
Deutsch
Italiano
हिंदी
Film Suchen
1665
alqsdeus
Im Editor öffnen
Veröffentlichen Sie Ihren Code
16 January 2025
Beispiel einer Zielseite für eine Film-Website
25 November 2025
HTML-Vorlage für Filmwebseiten | Responsiv & Filterbar
HTML
Copy
follow me on github alqsdeuss :D
about movie
there is no movie with that name
CSS
Copy
* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Poppins', sans-serif; color: #fff; margin: 0; padding: 0; overflow-x: hidden; background: linear-gradient(120deg, #0f0c29, #302b63, #24243e); } #gradient-canvas { position: fixed; z-index: -1; width: 100%; height: 100%; background: linear-gradient(120deg, #0c0d0d, #0c0d0d, #656a95, #0c0d0d); background-size: 200% 200%; animation: gradientAnimation 15s ease infinite; } @keyframes gradientAnimation { 0% { background-position: 0% 0%; } 50% { background-position: 100% 100%; } 100% { background-position: 0% 0%; } } header { background: rgba(0, 0, 0, 0.8); color: #fff; padding: 20px; text-align: center; position: sticky; top: 0; z-index: 1000; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5); } h1 { font-size: 2.5rem; margin-bottom: 10px; } .search-container { display: flex; justify-content: center; gap: 10px; margin-top: 10px; } input { padding: 12px; width: 100%; max-width: 350px; font-size: 16px; border-radius: 30px; border: none; background-color: #333; color: #fff; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); transition: background-color 0.3s ease; } input:focus { background-color: #444; outline: none; } button { padding: 12px 20px; font-size: 16px; border-radius: 30px; background-color: #656a95; color: white; border: none; cursor: pointer; transition: background-color 0.3s ease, transform 0.3s ease; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); } button:hover { transform: scale(1.05); background-color: #656a95; } button i { font-size: 20px; } #error-message { margin-top: 10px; color: #656a95; font-size: 18px; display: none; text-align: center; } .grid-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; padding: 20px; } .movie-card { background-color: #2a2a2a; border-radius: 15px; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer; position: relative; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5); } .movie-card:hover { transform: scale(1.05); box-shadow: 0 8px 16px rgba(0, 0, 0, 0.7); } .movie-card img { width: 100%; height: 300px; object-fit: cover; border-bottom: 4px solid #656a95; } .movie-card h3 { margin: 10px 0; font-size: 18px; color: #e5e5e5; } .movie-card p { font-size: 14px; color: #aaa; } #movieDetails { display: none; padding: 20px; background-color: #333; border-radius: 15px; margin: 20px auto; max-width: 900px; text-align: left; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5); transition: opacity 0.3s ease, transform 0.3s ease; } #movieDetails.show { display: block; opacity: 1; transform: scale(1.05); } #movieDetails img { float: left; margin-right: 20px; border-radius: 10px; max-width: 150px; height: auto; } #movieDetails .info { margin-bottom: 20px; } #movieDetails .close-btn { background-color: #656a95; color: white; border: none; padding: 10px 15px; border-radius: 30px; cursor: pointer; margin-top: 20px; float: right; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); transition: background-color 0.3s ease; } #movieDetails .close-btn:hover { background-color: #656a95; } footer { background-color: transparent; color: #777; padding: 20px; text-align: center; position: relative; bottom: 0; width: 100%; } .footer-text { color: #777; font-size: 14px; } @media (max-width: 768px) { header { padding: 15px; } .search-container { flex-direction: column; } input, button { width: 100%; } .movie-card img { height: 200px; } }
JS
Copy
document.getElementById('searchButton').addEventListener('click', searchMovies); document.getElementById('searchInput').addEventListener('keypress', handleKeyPress); const apiKey = 'c3e1d0d7'; function searchMovies() { const query = document.getElementById('searchInput').value.trim(); const errorMessage = document.getElementById('error-message'); const movieResults = document.getElementById('movieResults'); if (query) { fetchMovies(query); errorMessage.style.display = 'none'; } else { showErrorMessage('enter a movie'); } } async function fetchMovies(query) { const url = `https://www.omdbapi.com/?apikey=${apiKey}&s=${query}`; try { const response = await fetch(url); const data = await response.json(); if (data.Response === 'True') { displayMovies(data.Search); } else { showErrorMessage('no movie found with this name'); } } catch (error) { console.error('error to find movies:', error); showErrorMessage('help me womp womp'); } } function displayMovies(movies) { const movieResults = document.getElementById('movieResults'); movieResults.innerHTML = ''; movies.forEach(movie => { const movieCard = document.createElement('div'); movieCard.classList.add('movie-card'); movieCard.innerHTML = ` <img src="${movie.Poster !== 'N/A' ? movie.Poster : 'alqsdeuss.jpg'}" alt="${movie.Title}"> <h3>${movie.Title}</h3> `; movieCard.addEventListener('click', () => fetchMovieDetails(movie.imdbID)); movieResults.appendChild(movieCard); }); movieResults.classList.add('fade-in'); } async function fetchMovieDetails(imdbID) { const url = `https://www.omdbapi.com/?apikey=${apiKey}&i=${imdbID}`; try { const response = await fetch(url); const data = await response.json(); if (data.Response === 'True') { displayMovieDetails(data); } else { showErrorMessage('movie details not found'); } } catch (error) { console.error('error movie details:', error); showErrorMessage('help me womp womp'); } } function displayMovieDetails(movie) { const movieDetails = document.getElementById('movieDetails'); const movieResults = document.getElementById('movieResults'); movieDetails.innerHTML = ` <button class="close-btn" onclick="closeMovieDetails()">close</button> <img src="${movie.Poster !== 'N/A' ? movie.Poster : 'alqsdeuss.jpg'}" alt="${movie.Title}"> <div class="info"> <h2>${movie.Title} (${movie.Year})</h2> <p><strong>ratings:</strong> ${movie.imdbRating}/10</p> <p><strong>runtime:</strong> ${movie.Runtime}</p> <p><strong>genre:</strong> ${movie.Genre}</p> <p><strong>director:</strong> ${movie.Director}</p> <p><strong>actors:</strong> ${movie.Actors}</p> <p><strong>language:</strong> ${movie.Language}</p> <p><strong>country:</strong> ${movie.Country}</p> <p><strong>awards:</strong> ${movie.Awards}</p> </div> `; movieResults.style.display = 'none'; movieDetails.style.display = 'block'; movieDetails.classList.add('show'); } function closeMovieDetails() { const movieDetails = document.getElementById('movieDetails'); const movieResults = document.getElementById('movieResults'); movieDetails.style.display = 'none'; movieResults.style.display = 'grid'; movieDetails.classList.remove('show'); } function showErrorMessage(message) { const errorMessage = document.getElementById('error-message'); errorMessage.textContent = message; errorMessage.style.display = 'block'; } function handleKeyPress(event) { if (event.key === 'Enter') { searchMovies(); } }