Изменение цвета фона с каждым щелчком мыши в чистом Javascript
Я пытаюсь сделать кнопку в Javascript, которая при нажатии меняет цвет фона на случайный цвет.
мой код отлично работает при первом щелчке, но не работает при последующих щелчках.
что я могу сделать, чтобы исправить это в чистом javascript, без каких-либо jquery. Спасибо!
var buton=document.getElementById("buton");
var randcol= "";
var allchar="0123456789ABCDEF";
buton.addEventListener("click",myFun);
function myFun(){
for(var i=0; i<6; i++){
randcol += allchar[Math.floor(Math.random()*16)];
}
document.body.style.backgroundColor= "#"+randcol;
}
2 ответов
проблема в том, что вы не сброс randcol
выполнить. Вы продолжаете добавлять к предыдущему значению, поэтому в первый раз это допустимый цветовой код, но в следующий раз это не допустимый цветовой код.
так сбросить randcol
в пустую строку перед выполнением своего for
цикл
var buton=document.getElementById("buton");
var allchar="0123456789ABCDEF";
buton.addEventListener("click",myFun);
function myFun(){
var randcol= "";
for(var i=0; i<6; i++){
randcol += allchar[Math.floor(Math.random()*16)];
}
document.body.style.backgroundColor= "#"+randcol;
}
<button id="buton">click me</button>
попробуйте ниже его работы, я проверю его.
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
function myFun(){
var randcol= "";
var allchar="0123456789ABCDEF";
for(var i=0; i<6; i++){
randcol += allchar[Math.floor(Math.random()*16)];
}
document.body.style.backgroundColor= "#"+randcol;
}
</script>
</head>
<body>
<button onclick="javascript:myFun()">Change color</button>
</body>
</html>
## можем ли мы сохранить цвет в localstorage ?##