-
글쓴이글
-
2021년 6월 1일 09:22 #9891
효기참가자'애니메이션 UI 2 : Slide Down 모달창 만들기 & 애니메이션 필수 팁' 강좌에서 그대로 따라하였는데 실행이 잘 되질 않아 질문올렸습니다.
html코드
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
<script
src="https://code.jquery.com/jquery-3.6.0.min.js"
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
crossorigin="anonymous"
></script>
<!-- Bootstrap CSS -->
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l"
crossorigin="anonymous"
/>
<link rel="stylesheet" href="style.css" />
<title>Hello, world!</title>
</head>
<body>
<div class="left-menu">
<p>Menu Title</p>
</div>
<div class="black-background slide-down">
<div class="white-background">
<p>로그인하세요</p>
<form action="login.php">
<div class="form-group">
<input
type="email"
class="form-control"
placeholder="Email"
id="email"
/>
<p id="email-alert">이메일이 빈칸입니다.</p>
</div>
<div class="form-group">
<input
type="password"
class="form-control"
placeholder="Password"
id="psw"
/>
<p id="psw-alert">패스워드가 빈칸입니다</p>
</div>
<button type="submit" class="btn btn-primary">전송</button>
<button id="close-button" style="background-color: red">닫기</button>
</form>
</div>
</div>
<div class="nav-menu">
<h4 style="margin: 0">coffe studio</h4>
<a id="nav-sub-button">Products</a>
</div>
<ul class="list-group nav-sub">
<li class="list-group-item">Outer</li>
<li class="list-group-item">Innerwear</li>
<li class="list-group-item">Shirts</li>
</ul>
<div class="jumbotron main-background">
<h1 class="display-4">do you like coffee?</h1>
<p class="lead">
This is a simple hero unit, a simple jumbotron-style component for
calling extra attention to featured content or information.
</p>
<hr class="my-4" />
<p>
It uses utility classes for typography and spacing to space content out
within the larger container.
</p>
<a id="login" class="btn btn-primary btn-lg" role="button">Login</a>
<a id="show-menu" class="btn btn-danger btn-lg" role="button"
>Show Menu</a
>
</div>
<script>
$("#show-menu").click(function () {
$(".left-menu").animate({ marginLeft: "0px" });
});
</script><script>
$("#login").on("click", function () {
$(".black-background").addClass("slide-down");
});$("#nav-sub-button").on("click", function () {
$(".nav-sub").slideToggle();
});
$("#close-button").on("click", function () {
$(".black-background").hide();
});
$("form").on("submit", function (e) {
const = emailVal = $("#email").val();
if(/\S+@\S+\/\S+/.test(emailVal)==false){
e.preventDefault();
} else if(emailVal==''){
e.preventDefault();
}
//패스워드 공백확인
const = emailPsw = $("#psw").val();
if(/[A=Z]+/.test(emailPsw)== false){
e.preventDefault();
}
// if ($("#email").val() == "") {
// e.preventDefault();
// $("#email-alert").show();
// } else if ($("#psw").val() == "") {
// e.preventDefault();
// $("#psw-alert").show();
// }
});/abc/.test("abvcvsdfd");
</script>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"
integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns"
crossorigin="anonymous"
></script>
</body>
</html>css코드
.alert {
background-color: rgb(128, 128, 223);
color: rgb(10, 10, 17);
padding: 20px;
border-radius: 5px;
display: none;
}
.main-background {
background: url(photo.jpg);
color: black;
background-size: cover;
border-radius: 0px;
}
.black-background {
background: rgba(0, 0, 0, 0.5);
position: fixed;
z-index: 5;
width: 100%;
height: 100%;
display: block;
transition: all 1s;
transform: translateY(-1000px);
}
.slide-down {
transform: translateY(0px);
}
.white-background {
background: white;
width: 80%;
margin: 100px auto;
padding: 20px;
border-radius: 10px;
}
.nav-menu {
display: flex;
justify-content: space-between;
padding: 15px;
align-items: center;
}
.nav-sub {
display: none;
}
#email-alert {
display: none;
}
#password-alert {
display: none;
}
.left-menu {
width: 150px;
height: 100%;
background-color: black;
color: white;
position: fixed;
margin-left: -150px;
}
원래대로라면 로그인버튼을 누르면 모달창이 내려와야 하지만 제화면은
이런식으로 애초에 모달창이 내려와있는 상태로 시작이됩니다.
또한 저상태에서 닫기버튼을 누르게되면 닫혀야하지만
login.php라고 뜨면서 저런 화면이 뜨는데
이 2가지 오류를 어떻게 해결해야하나요?
2021년 6월 1일 09:49 #9940
codingapple키 마스터html 보면 slide-down이라는 클래스명이 이미 추가가 되어있군요
이건 모달창 내리는 클래스명이라 이걸 제거합시다
닫기 버튼엔 type="button" 속성을 추가해봅시다
2021년 6월 2일 22:44 #10012
효기참가자그대로 했는데도 여전히 되질 않습니다.
html코드
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
<script
src="https://code.jquery.com/jquery-3.6.0.min.js"
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
crossorigin="anonymous"
></script>
<!-- Bootstrap CSS -->
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l"
crossorigin="anonymous"
/>
<link rel="stylesheet" href="style.css" />
<title>Hello, world!</title>
</head>
<body>
<div class="left-menu">
<p>Menu Title</p>
</div>
<div class="black-background">
<div class="white-background">
<p>로그인하세요</p>
<form action="login.php">
<div class="form-group">
<input
type="email"
class="form-control"
placeholder="Email"
id="email"
/>
<p id="email-alert">이메일이 빈칸입니다.</p>
</div>
<div class="form-group">
<input
type="password"
class="form-control"
placeholder="Password"
id="psw"
/>
<p id="psw-alert">패스워드가 빈칸입니다</p>
</div>
<button type="submit" class="btn btn-primary">전송</button>
<button type="button" id="close-button" style="background-color: red">
닫기
</button>
</form>
</div>
</div>
<div class="nav-menu">
<h4 style="margin: 0">coffe studio</h4>
<a id="nav-sub-button">Products</a>
</div>
<ul class="list-group nav-sub">
<li class="list-group-item">Outer</li>
<li class="list-group-item">Innerwear</li>
<li class="list-group-item">Shirts</li>
</ul>
<div class="jumbotron main-background">
<h1 class="display-4">do you like coffee?</h1>
<p class="lead">
This is a simple hero unit, a simple jumbotron-style component for
calling extra attention to featured content or information.
</p>
<hr class="my-4" />
<p>
It uses utility classes for typography and spacing to space content out
within the larger container.
</p>
<a id="login" class="btn btn-primary btn-lg" role="button">Login</a>
<a id="show-menu" class="btn btn-danger btn-lg" role="button"
>Show Menu</a
>
</div>
<h4 class="my-4 text-center">Showcase</h4>
<div style="overflow: hidden">
<div class="slide-container">
<div class="slide-box">
<img src="img/shirt1.jpg" />
</div>
<div class="slide-box">
<img src="img/shirt2.jpg" />
</divc>
<div class="slide-box">
<img src="img/shirt3.jpg" />
</div>
</div>
</div>
<button class="slide-1">1</button>
<button class="slide-2">2</button>
<button class="slide-3">3</button>
<div class="my-5"></div>
<script>
$(".slide-2").click(function () {
$(".slide-container").css("transform", "translateX(-100vw)");
});
</script>
<script>
$("#show-menu").click(function () {
$(".left-menu").animate({ marginLeft: "0px" });
});
</script><script>
$("#login").on("click", function () {
$(".black-background").addClass("slide-down");
});$("#nav-sub-button").on("click", function () {
$(".nav-sub").slideToggle();
});
$("#close-button").on("click", function () {
$(".black-background").hide();
});
$("form").on("submit", function (e) {
const = emailVal = $("#email").val();
if(/\S+@\S+\/\S+/.test(emailVal)==false){
e.preventDefault();
} else if(emailVal==''){
e.preventDefault();
}
//패스워드 공백확인
const = emailPsw = $("#psw").val();
if(/[A=Z]+/.test(emailPsw)== false){
e.preventDefault();
}
// if ($("#email").val() == "") {
// e.preventDefault();
// $("#email-alert").show();
// } else if ($("#psw").val() == "") {
// e.preventDefault();
// $("#psw-alert").show();
// }
});
</script>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"
integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns"
crossorigin="anonymous"
></script>
</body>
</html>따로 잘못된것이 있을까요?
2021년 6월 3일 09:42 #10019
codingapple키 마스터$(“#close-button”) 을 누르면 hide()하지 말고 slide-down 클래스명을 제거해봅시다
그리고 오타들이 보이는데 오타나면 다 안될 수 있습니다
const = emailVal = $(“#email”).val();
const emailVal = $(“#email”).val(); 이렇게 되어야할듯요
else if(emailVal==""){ 이것도 따옴표 두개쳐야할듯요?
-
글쓴이글
- 답변은 로그인 후 가능합니다.