Edward_Kenway
@Edward_Kenway

Почему не выполняется toggle?

Задача стоит такая: по клику на "Read rules" должна скрываться форма логина и появляется текст с ознакомлением правил. Затем по клику на "Вернуться назад", форма логина появляется, а текст с ознакомлением с правилами - скрывается. Не могу понять почему не работает ни с классом hide, ни с классом show, ни toggle...Код прикрепляю:
<link rel="shortcut icon" href="favicon.png">
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

<div class="login-wrap">
	<div class="login-html">
        <div class="hide-wrap">
            <input id="tab-1" type="radio" name="tab" class="sign-in" checked><label for="tab-1" class="tab">Log In</label>
            <input id="tab-2" type="radio" name="tab" class="sign-up"><label for="tab-2" class="tab">Sign Up</label>
            <div class="login-form">
                <div class="sign-in-htm">
                    <div class="group">
                        <label for="user" class="label">Email</label>
                        <input id="user" type="text" class="input" placeholder="Your email">
                    </div>
                    <div class="group">
                        <label for="pass" class="label">Password</label>
                        <input id="pass" type="password" class="input" placeholder="Your password">
                    </div>
                    <div class="group">
                        <input id="check" type="checkbox" class="check" checked>
                        <label for="check" class="agree-rules"><span class="icon"></span></label>
                        <p class="read-rules">Read rules</p>
                    </div>
                    <div class="group">
                        <input type="submit" class="button" value="Submit">
                    </div>
                    <div class="hr"></div>
                    <div class="foot-lnk">
                        <a href="#forgot">Forgot Password?</a>
                    </div>
                </div>
                <div class="sign-up-htm">
                    <div class="group">
                        <label for="user" class="label">Username</label>
                        <input id="user" type="text" class="input">
                    </div>
                    <div class="group">
                        <label for="pass" class="label">Password</label>
                        <input id="pass" type="password" class="input">
                    </div>
                    <div class="group">
                        <label for="pass" class="label">Repeat Password</label>
                        <input id="pass" type="password" class="input">
                    </div>
                    <div class="group">
                        <label for="pass" class="label">Email Address</label>
                        <input id="pass" type="text" class="input">
                    </div>
                    <div class="group">
                        <input type="submit" class="button" value="Sign Up">
                    </div>
                    <div class="hr"></div>
                    <div class="foot-lnk">
                        <label for="tab-1">Already Member?</a>
                    </div>
                </div>
            </div>
        </div>
        <div class="modal-wrap">
            <div class="modal-rules">
                <div class="text-rules">
                    <div class="arrow-back"><i class="material-icons arrow-back">arrow_back</i></div>
                        <p>
                            Lorem ipsum dolor sit amet consectetur, adipisicing elit. Sunt vero qui rerum sed voluptatibus dolore ea ex totam temporibus fugit, ratione perspiciatis iusto eaque asperiores, porro commodi similique? Voluptatibus, odit?
                        </p>
                        <p>
                            Lorem ipsum dolor sit amet consectetur, adipisicing elit. Sunt vero qui rerum sed voluptatibus dolore ea ex totam temporibus fugit, ratione perspiciatis iusto eaque asperiores, porro commodi similique? Voluptatibus, odit?
                        </p>
                        <p>
                            Lorem ipsum dolor sit amet consectetur, adipisicing elit. Sunt vero qui rerum sed voluptatibus dolore ea ex totam temporibus fugit, ratione perspiciatis iusto eaque asperiores, porro commodi similique? Voluptatibus, odit?
                        </p>
                        <p>
                            Lorem ipsum dolor sit amet consectetur, adipisicing elit. Sunt vero qui rerum sed voluptatibus dolore ea ex totam temporibus fugit, ratione perspiciatis iusto eaque asperiores, porro commodi similique? Voluptatibus, odit?
                        </p>
                            <p class="modal-back">Вернуться назад</p>
                    </div>
                </div>
            </div>
	    </div>
    </div>
</div>


CSS:
body {
	margin: 0;
	color: #6a6f8c;
	background: #c8c8c8;
	font: 600 16px/18px 'Open Sans',sans-serif;
}

*,
:after,
:before {
  box-sizing: border-box;
}

.clearfix:after,
.clearfix:before {
  content: '';
  display: table;
}

.clearfix:after {
  clear: both;
  display: block;
}

.hide {
  display: none;
}

.show {
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

.login-wrap {
	width: 100%;
	margin: auto;
	max-width: 525px;
	min-height: 670px;
	position: relative;
	background: url(https://cdn.pixabay.com/photo/2018/01/31/07/36/secret-3120483_960_720.jpg) no-repeat center;
	box-shadow:0 12px 15px 0 rgba(0,0,0,.24),0 17px 50px 0 rgba(0,0,0,.19);
}

.login-html {
	width: 100%;
	height: 100%;
	position: absolute;
	padding: 90px 70px 50px 70px;
	background: rgba(40,57,101,.9);
}

.login-html .sign-in-htm,
.login-html .sign-up-htm {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	position: absolute;
	transform: rotateY(180deg);
	backface-visibility: hidden;
	transition: all .4s linear;
}

.login-html .sign-in,
.login-html .sign-up,
.login-form .group .check {
	display: none;
}

.login-html .tab,
.login-form .group .label,
.login-form .group .button {
	text-transform: uppercase;
}

.login-html .tab {
	font-size: 22px;
	margin-right: 15px;
	padding-bottom: 5px;
	margin: 0 15px 10px 0;
	display: inline-block;
	border-bottom: 2px solid transparent;
}

.login-html .sign-in:checked + .tab,
.login-html .sign-up:checked + .tab {
	color: #fff;
	border-color: #1161ee;
}

.login-form {
	min-height: 345px;
	position: relative;
	perspective: 1000px;
	transform-style: preserve-3d;
}

.login-form .group {
	margin-bottom: 15px;
}

.login-form .group .label,
.login-form .group .input,
.login-form .group .button {
	width: 100%;
	color: #fff;
	display: block;
}

.login-form .group .input,
.login-form .group .button {
	border: none;
	padding: 15px 20px;
	border-radius: 25px;
	background: rgba(255,255,255,.1);
}

.login-form .group input[type="password"] {
	-webkit-text-security: circle;
}

.login-form .group .label {
	color: #aaa;
	font-size: 12px;
}

.login-form .group .agree-rules:after {
  content: 'Agree rules';
  margin: 0 1rem;
}

.login-form .group .read-rules {
  display: inline;
  text-decoration: underline;
   cursor: pointer;
  position: relative;
  left: 40%;
  padding: 8px;
}

.login-form .group .button {
	background: #1161ee;
  margin: 4.2rem 0;
}

.login-form .group label .icon {
	width: 15px;
	height: 15px;
	border-radius: 2px;
	position: relative;
	display: inline-block;
	background: rgba(255,255,255,.1);
}

.login-form .group label .icon:before,
.login-form .group label .icon:after {
	content:'';
	width: 10px;
	height: 2px;
	background: #fff;
	position: absolute;
	transition: all .2s ease-in-out 0s;
}

.login-form .group label .icon:before {
	left: 3px;
	width: 5px;
	bottom: 6px;
	transform: scale(0) rotate(0);
}

.login-form .group label .icon:after {
	top: 6px;
	right: 0;
	transform: scale(0) rotate(0);
}

.login-form .group .check:checked + label {
	color: #fff;
}

.login-form .group .check:checked + label .icon {
	background:#1161ee;
}

.login-form .group .check:checked + label .icon:before {
	transform: scale(1) rotate(45deg);
}

.login-form .group .check:checked + label .icon:after {
	transform: scale(1) rotate(-45deg);
}

.login-html .sign-in:checked + .tab + .sign-up + .tab + .login-form .sign-in-htm{
	transform: rotate(0);
}

.login-html .sign-up:checked + .tab + .login-form .sign-up-htm {
	transform: rotate(0);
}

.hr {
	height: 2px;
	margin: 60px 0 50px 0;
	background: rgba(255,255,255,.2);
}

.foot-lnk {
	text-align: center;
}

.modal-wrap {
  position: absolute;
  top: 18%;
  left: 0;
  margin: 0 2%;
}

.modal-rules {
  display: none;
}

.text-rules {
  padding: 4px;
}

.modal-back {
    color: rgba(251, 255, 0, 0.918);
    cursor: pointer;
    text-align: center;
    user-select: none;
}


JS:
// ссылка на ознакомление с правилами/условиями
document.querySelector('.read-rules').addEventListener('click', function(event) {
    event.stopPropagation();
  document.querySelector('.text-rules').classList.add('show');
  document.querySelector('.hide-wrap').classList.add('hide');
});

// вернуться к форме заполнения регистрации
document.querySelector('.modal-back').addEventListener('click', function(event) {
   event.stopPropagation();
  document.querySelector('.hide-wrap').classList.remove('hide');
     document.querySelector('.hide-wrap').classList.add('show');
  document.querySelector('.modal-wrap').classList.remove('show');
});
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы