Этот мой js-фрагмент:
reset.addEventListener("click", function(){
document.querySelector("#body").classList.add("darkenPage");
myReset();
document.querySelector("#body").classList.remove("darkenPage");
alert("Reset Successful!!");
});
и часть css:
.darkenPage {
background: rgba(0, 0, 0, 0.5);
}
Браузер, который я использую, - Chrome. Мой фон не становится темнее, даже если я попробую этот фрагмент css, который я нашел в google:
.darkenPage {
height: 100%;
width: 100%;
position:fixed;
top: 0px;
left: 0px;
background-color: rgb(0, 0, 0);
}
Пожалуйста, поправьте меня, если я ошибаюсь.
[EDIT]: Вот ссылка github на всю папку. Нет необходимости управлять зависимостями.
Попробуйте: перегрузите функцию alert()
по умолчанию и используйте те же классы для управления вашим требованием.
Чтобы вы могли просто вызывать alert
везде, где хотите: и страница будет тусклой.
var originalAlert = window.alert;
window.alert = function(args) {
document.querySelector("html").classList.add("darkenPage");
setTimeout(function() {
originalAlert(args);
document.querySelector("html").classList.remove("darkenPage");
});
}
body {
background-color: white;
margin: 0px;
}
html.darkenPage {
background-color: black;
}
html.darkenPage body {
opacity: 0.5;
}
Content<br>Content<br>Content<br><br>
<button onclick="alert('Hello World')">Alert</button>
<br><br><br> Content
<br>Content<br>Content<br>Content<br>Content<br>Content<br>Content<br>Content<br>Content<br>Content<br>Content<br>Content<br>Content<br>Content<br>Content<br>Content<br>
Просто выполните все шаги в правильном порядке:
reset.addEventListener("click", function(){
//darken page
document.querySelector("#body").classList.add("darkenPage");
//display alert box - this pauses javascript execution
alert("Reset Successful!!");
//lighten page
document.querySelector("#body").classList.remove("darkenPage");
});
если это не сработает правильно, и вы хотите убедиться, что CSS применяется сначала, вы можете попытаться отложить оповещение с помощью setTimeout
.
reset.addEventListener("click", function(){
//darken page
document.querySelector("#body").classList.add("darkenPage");
//make sure the dark page gets rendered before alert is displayed
setTimeout(function(){
//display alert box - this pauses javascript execution
alert("Reset Successful!!");
//lighten page
document.querySelector("#body").classList.remove("darkenPage");
}, 0);
});