Зажимающаяся кнопка
Нужна зажимающаяся кнопка.
Вот такой код работает только один раз
<script>
function press(){
if(pressed==1){
pressed=0;
document.getElementById('butt').style.backgroundColor="#B4BDB9";
/*Тут еще код,который не виноват*/
}else{
pressed=1;
document.getElementById('bold').style.backgroundColor="#939c93";
/*Тут еще код,который не виноват*/
}
}
</script>
Кнопка: <div id="butt" style="background-color:#B4BDB9;"><img onclick="press();" src="../pics/pic1.png"></div> То есть зажимается она на ура,а вот отжиматься не хочет. Кстати вот так
<script>
pressed=0;
function press(){
alert('');
if(pressed==1){
pressed=0;
document.getElementById('butt').style.backgroundColor="#B4BDB9";
/*Тут еще код,который не виноват*/
}else{
pressed=1;
document.getElementById('bold').style.backgroundColor="#939c93";
/*Тут еще код,который не виноват*/
}
}
</script>
и вот так
function press(){
alert('');
if(pressed==1){
pressed=0;
document.getElementById('butt').style.backgroundColor="#B4BDB9";
/*Тут еще код,который не виноват*/
}
if(pressed==0){
pressed=1;
document.getElementById('bold').style.backgroundColor="#939c93";
/*Тут еще код,который не виноват*/
}
}
алерт в функции не срабатывает. |
Переменная pressed где-нибудь до этого кода присвоена? Если нет, то вернёт ReferenceError. Да и делать лучше так:
var pressed = true;
function press() {
pressed = !pressed;
if (pressed) {…} else {…}
}
|
Переменная pressed не встречается.Я,собственно,в сь остальной код убрал пока. Попробовал эту конструкцию,эффект нулевой
var pressed = true;
function press() {
alert('этот алерт не срабатывает')
pressed = !pressed;
if (pressed) {…} else {…}
}
|
<html>
<head>
</head>
<body>
<div id="x" style="width: 50px; height: 50px; background: #B4BDB9">
</div>
<a href="javascript://" onclick="press();">
Сменить цвет
</a>
<script type="text/javascript">
var pressed = false;
function press() {
pressed = !pressed;
document.getElementById('x').style.backgroundColor = pressed ? '#939c93': '#B4BDB9';
}
</script>
</body>
</html>
|
Большое спасибо,заработало. У меня возник маленький вопросик - в моем скрипте
функция,переменная и ид назывались одинаково. Переименовал - заработало. Можно ли так делать и почему нет? |
Darth Padla, браузер создаёт для каждого ID свою глобальную переменную (FF — исключение), с этим могли быть проблемы.
|
| Часовой пояс GMT +3, время: 03:22. |