#javascript #html #css
Вопрос:
Я не знаю почему, но когда я пытаюсь использовать «app.js» файл (который содержит 2 сценария) в скобках, только один из них работает, но на консоли этого веб-сайта оба сценария работают в то время, кто-нибудь знает, почему? Спасибо!
(Два сценария-один и тот же код, но я просто изменил некоторые имена, они из Интернета, я понятия не имею о js).
const togglePassword1 = document.querySelector('#togglePassword1');
const password1 = document.querySelector('#password1');
togglePassword1.addEventListener('click', function(e) {
// toggle the type attribute
const type = password1.getAttribute('type') === 'password' ? 'text' : 'password';
password1.setAttribute('type', type);
// toggle the eye / eye slash icon
this.classList.toggle('bi-eye');
});
const togglePassword2 = document.querySelector('#togglePassword2');
const password2 = document.querySelector('#password2');
togglePassword2.addEventListener('click', function(e) {
// toggle the type attribute
const type = password2.getAttribute('type') === 'password' ? 'text' : 'password';
password2.setAttribute('type', type);
// toggle the eye / eye slash icon
this.classList.toggle('bi-eye');
});
body{
font-family: 'Montserrat', sans-serif;
background-color: #F5BED8;
width: 100%;
}
.password1 i {
margin-left: -30px;
cursor: pointer;
}
.password2 i {
margin-left: -30px;
cursor: pointer;
}
.password_tittle{
font-family: 'montserrat';
font-size:1.4em;
font-weight: 550;
color: #fcecf5;
margin-left: 40px;
margin-top: 40px;
margin-bottom: 10px
}
.password_input{
width:420px;
height: 35px;
margin-left: 40px;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
border: 1px #2d9fd9;
}
.password_input::placeholder{
font-size: 1.2em;
padding-left: 10px;
font-family: 'montserrat';
font-weight:100;
font-style: italic;
}
.confirm_password_input{
width:420px;
height: 35px;
margin-left: 40px;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
border: 1px #2d9fd9;
}
.confirm_password_input::placeholder{
font-size: 1.2em;
padding-left: 10px;
font-family: 'montserrat';
font-weight:100;
font-style: italic;
}
<head>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.3.0/font/bootstrap-icons.css" />
</head>
<body>
<div class="password1">
<p class="password_tittle">Password</p>
<input class="password_input" type="password" name="password" id="password1" placeholder="Password..." />
<i class="bi bi-eye-slash fa-lg" id="togglePassword1"></i>
<script type='text/javascript' src="app.js"></script>
</div>
<div class="password2">
<p class="password_tittle">Confirm Password</p>
<input class="confirm_password_input" type="password" name="password" id="password2" placeholder="Confirm Password..." />
<i class="bi bi-eye-slash fa-lg" id="togglePassword2"></i>
</div>
Комментарии:
1. Не в состоянии воспроизвести
2. является ли ваш app.js файл в той же папке html-файла?
3. Нет, но проверьте в консоли браузера, есть ли у вас какие-либо ошибки в файле js, или попробуйте поместить файл js перед концом тега тела
4. Ок, ошибка устранена, консоль выдает вам строку ошибки, поэтому проверьте, установлена ли ваша переменная const
5. Я воспроизвел вашу ошибку, просто поставьте
<script type='text/javascript' src="app.js"></script>
</body>
тег «Перед», и все работает нормально