🐰 최종
<!doctype html>
<html lang="ko-kr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/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">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
crossorigin="anonymous"></script>
<title>비전5 영화 (마우스 오버)</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Gowun+Dodum&family=Nanum+Myeongjo&display=swap');
* {
font-family: 'Gowun Dodum', sans-serif;
font-family: 'Nanum Myeongjo', serif;
}
.mytitle {
position: fixed;
color: black;
background-color: #fff;
width: 100%;
height: 150px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
z-index: 3;
}
.main {
padding: 200px 0 100px 0;
height: 2500px;
}
.mytitle>h1 {
font-size: 50px;
position: relative;
left: 50px;
}
.mytitle>button {
width: 200px;
height: 50px;
border-radius: 50px;
margin: 30px 20px 20px auto;
}
.mytitle>h1>a {
color: black;
font-size: 40px;
font-weight: bold;
font-family: 'Gowun Dodum', sans-serif;
text-decoration: none;
}
.mycards {
width: 80%;
margin: 0 auto;
}
.card-body {
display: flex;
flex-direction: column;
align-items: left;
justify-content: center;
}
.card-title {
margin: 10px auto 10px 10px;
text-size-adjust: auto;
font-weight: bold;
}
.screen {
position: relative;
overflow: hidden;
}
.card-img-top {
filter: brightness(1);
}
.card-img-top:hover {
filter: brightness(0.3);
}
.top {
pointer-events: none;
position: absolute;
bottom: 100%;
left: 10px;
z-index: 2;
color: white;
text-size-adjust: auto;
font-weight: 500;
}
.screen:hover .top {
top: 5%;
}
.btn>a {
text-decoration: none;
color: inherit;
}
.popup_content {
visibility: hidden;
background-color: white;
border-radius: 8px;
border: solid;
width: 450px;
height: 550px;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
margin-bottom: 40px;
text-align: center;
z-index: 100;
transition: all .35s;
}
.textbox {
width: 90%;
padding-left: 10px;
font-size: 20px;
border: 2px solid #bbb;
border-radius: 8px;
margin-top: 20px;
resize: none;
}
.btn-option {
width: 150px;
height: 50px;
border: 2px solid #ddd;
background-color: white;
border-radius: 8px;
cursor: pointer;
}
.btn-option:hover {
background-color: #bbb;
}
.popup-back {
visibility: hidden;
position: fixed;
left: 0;
right: 0;
bottom: 0;
top: 0;
margin: auto;
background-color: black;
opacity: 0.7;
z-index: 100;
}
.top-desc {
font-size: 25px;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 5;
-webkit-box-orient: vertical;
text-overflow: ellipsis;
margin-bottom: 30px;
font-family: 'Gowun Dodum', sans-serif;
}
.top-comment {
font-family: 'Gowun Dodum', sans-serif;
font-size: 25px;
}
</style>
<script>
$(document).ready(function () {
show_order1();
});
function show_order1() {
fetch("/movies").then(res => res.json()).then(data => {
let rows = data['result']
$('#cards').empty()
rows.forEach((a) => {
let title = a['title']
let desc = a['desc']
let image = a['image']
let comment = a['comment']
let star = a['star']
let director = a['director']
let character1 = a['character1']
let character2 = a['character2']
let character3 = a['character3']
let stars = ('⭐').repeat(star)
let temp_html = `<div class="col">
<div class="card">
<div class="screen">
<div class="top">
<div class="top-desc">${desc}</div>
<div class="top-comment">등록자 코멘트 : ${comment}</div>
</div>
<img src="${image}"
class="card-img-top" alt="...">
</div>
<div class="card-body">
<h5 class="card-title">${title}</h5>
<p>${stars}</p>
</div>
</div>
</div>`
$('#cards').append(temp_html)
})
})
}
function popupOpen() {
document.getElementById('popup').style.visibility = 'visible';
document.getElementById('popup-back').style.visibility = 'visible';
}
function onResgistBtn() {
let url = $('#url').val();
let comment = $('#comment').val();
let star = $('#star').val();
let formData = new FormData();
formData.append("url_give", url);
formData.append("comment_give", comment);
formData.append("star_give", star);
fetch('/input', { method: "POST", body: formData }).then((res) => res.json()).then((data) => {
alert(data['msg'])
window.location.reload();
})
}
function onCancelBtn() {
document.getElementById('popup').style.visibility = 'hidden';
document.getElementById('popup-back').style.visibility = 'hidden';
}
</script>
</head>
<body>
<div class="mytitle">
<h1><a href={{url_for('home')}}>비전5 Movie</a></h1>
<button onclick="popupOpen()" type="button" class="btn btn-outline-dark">추천 영화 등록</button>
</div>
<div class="main">
<div onmousedown="onCancelBtn()" id="popup-back" class="popup-back">
</div>
<div id="popup" class="popup_content">
<h1>추천 영화 등록</h1>
<input id="url" class="textbox" placeholder=" 영화 url입력" type="text" style="height: 40px;">
<textarea id="comment" class="textbox" placeholder="영화를 추천하는 이유를 입력해주세요." rows="8" cols="30"
name="coments"></textarea>
<div class="input-group mb-3" style="width: 90%; margin-left: 5%;">
<label class="input-group-text" for="inputGroupSelect01">별점</label>
<select class="form-select" id="star">
<option selected>-- 선택하기 --</option>
<option value="1">⭐</option>
<option value="2">⭐⭐</option>
<option value="3">⭐⭐⭐</option>
<option value="4">⭐⭐⭐⭐</option>
<option value="5">⭐⭐⭐⭐⭐</option>
</select>
</div>
<div style="margin-top: 50px; background-color: transparent; display: block;">
<button onclick="onResgistBtn()" class="btn-option">등록</button>
<button onclick="onCancelBtn()" class="btn-option">취소</button>
</div>
</div>
<h2 style="width: 80%; margin: 50px auto 30px auto; font-weight: 900;">비전5가 추천하는 영화 Best4</h2>
<div class="mycards">
<div id="card" class="row row-cols-1 row-cols-md-4 g-3">
<div class="col">
<div class="card">
<a href={{url_for('sub1')}}>
<div class="screen">
<div class="top"><div class="top-desc">‘가모라’를 잃고 슬픔에 빠져 있던 ‘피터 퀼’이 위기에 처한 은하계와 동료를 지키기 위해 다시 한번 가디언즈 팀과 힘을 모으고,
성공하지 못할 경우 그들의 마지막이 될지도 모르는 미션에 나서는 이야기</div>
<div class="top-comment"></div></div>
<img src="https://img.cgv.co.kr/Movie/Thumbnail/Poster/000086/86883/86883_185.jpg"
class="card-img-top" alt="...">
</div>
</a>
<div class="card-body">
<h5 class="card-title">가디언즈 오브 갤럭시-Volume 3</h5>
<p>⭐⭐⭐⭐⭐</p>
</div>
</div>
</div>
<div class="col">
<div class="card">
<a href={{url_for('sub2')}}>
<div class="screen">
<div class="top"> <div class="top-desc">아무리 빨리 달려도 과거를 앞지를 순 없다 돔(빈 디젤)과 그의 패밀리 앞에 나타난 운명의 적 단테(제이슨 모모아). 과거의 그림자는 돔의 모든 것을 파괴하기 위해 달려온다. 단테에 의해 산산히 흩어진 패밀리들은 모두 목숨을 걸고 맞서야 하는 함정에 빠지고 마는데.. 달리거나 죽거나, 그들의 마지막 질주가 시작된다!</div></div>
<img src="https://img.cgv.co.kr/Movie/Thumbnail/Poster/000086/86996/86996_185.jpg"
class="card-img-top" alt="...">
</div>
</a>
<div class="card-body">
<h5 class="card-title">분노의 질주-라이드 오어 다이</h5>
<p>⭐⭐⭐⭐⭐</p>
</div>
</div>
</div>
<div class="col">
<div class="card">
<a href={{url_for('sub3')}}>
<div class="screen">
<div class="top"><div class="top-desc">사회초년생 ‘도하’와 인디 뮤지션 ‘태인’이 장거리 연애를 시작하면서 벌이는 언택트 러브 스토리</div>
<div class="top-comment"></div></div>
<img src="https://img.cgv.co.kr/Movie/Thumbnail/Poster/000086/86912/86912_185.jpg"
class="card-img-top" alt="...">
</div>
</a>
<div class="card-body">
<h5 class="card-title">롱디</h5>
<p>⭐⭐⭐⭐⭐</p>
</div>
</div>
</div>
<div class="col">
<div class="card">
<a href={{url_for('sub4')}}>
<div class="screen">
<div class="top"><div class="top-desc">'붉은 봉투를 줍는 자, 운명을 거스를 수 없다!' 혈기왕성한 형사 우밍한은 중요한 사건 현장에서 도로에 흩어진 증거물을 수집하던 중 의문의 붉은 봉투를 발견하고 무심코 줍는다. 그때부터 밍한에게 벌어지는 불길한 사건들! 자신에게 다가온 '운명'을 한사코 거부하던 밍한은 거듭되는 생명의 위협에 마지못해 인생 최대의 결심을 하는데... 얼결에 '부부'가 된 귀신과 최악의 빌런을 잡기 위해 인간+귀신 콤비가 벌이는 극강의 공조 수사! 코믹과 액션을 버무리고 감동과 반전까지 가미한, 풀옵션 오감으로 즐기는 블록버스터. 인류애 넘치는 콤비의 격정적인 공조가 마침내 시작된다! 이 콤비도, 두 사람의 공조 수사도 완전히 다 미쳤다!!!</div>
<div class="top-comment"></div></div>
<img src="https://img.cgv.co.kr/Movie/Thumbnail/Poster/000087/87003/87003_185.jpg"
class="card-img-top" alt="...">
</div>
</a>
<div class="card-body">
<h5 class="card-title">메리 마이 데드 바디</h5>
<p>⭐⭐⭐⭐⭐</p>
</div>
</div>
</div>
</div>
</div>
<h2 style="width: 80%; margin: 80px auto 30px auto; font-weight: 900;">유저가 추천하는 영화</h2>
<div class="mycards">
<div id="cards" class="row row-cols-1 row-cols-md-4 g-3">
<div class="col">
<div class="card">
<a href="">
<div class="screen">
<div class="top">영화 설명</div>
<img src="https://movie-phinf.pstatic.net/20210728_221/1627440327667GyoYj_JPEG/movie_image.jpg"
class="card-img-top" alt="...">
</div>
</a>
<div class="card-body">
<h5 class="card-title">영화 제목이 들어갑니다.</h5>
<p>⭐⭐⭐</p>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>![](https://velog.velcdn.com/images/jee_ji/post/b112e1e2-3d38-4068-858f-1adf7025d50b/image.gif)