Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.08.2014, 21:42
Интересующийся
Отправить личное сообщение для dozer Посмотреть профиль Найти все сообщения от dozer
 
Регистрация: 26.12.2011
Сообщений: 15

увеличение счетчика по клику
Всем привет! Есть две кнопки, образно говоря одна плюс, другая минус. Есть счетчик, который по умолчанию = 0; При клике по кнопка счетчик или увеличивается или уменьшается соответственно. Мой код прото начинает прогонять цикл до бесконечности, падает браузер. Были и другие варианты, без цикла for, но все равно не пашет ...

<script type="text/javascript">
function func() {
var count = 0;

for (var i = 0; i=1;i++) {
var plusButton = document.getElementsByClassName("button_plus");
var minusButton = document.getElementsByClassName("button_minus");
if (document.onclick = plusButton) {
count+=i;
console.log(count);



} else if (document.onclick = minusButton) {

count -=i;
console.log(count);
}}
};


</script>
<button type="button" class = "button_plus" onclick="func()">button plus</button>
<button type="button" class="button_minus" onclick="func()">button minus</button>
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2014, 22:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,772

Сообщение от dozer
без цикла for
Цикл тут точно ни к чему...
Клацнул по кнопке - сделал инкремент или декремент какого-то значения, вот и все...
Ответить с цитированием
  #3 (permalink)  
Старый 25.08.2014, 23:19
Интересующийся
Отправить личное сообщение для dozer Посмотреть профиль Найти все сообщения от dozer
 
Регистрация: 26.12.2011
Сообщений: 15

function func() {
        var count = 0;
            var plusButton = document.getElementsByClassName("button_plus");
            var minusButton = document.getElementsByClassName("button_minus");
            if (document.onclick = plusButton) {
                count++;
                console.log(count);
        } else if (document.onclick = minusButton) {

                count--;
                console.log(count);
            }
    };


так тоже не пашет. В консоле цифра 1 вне зависимости какую кнопку клацаю
Ответить с цитированием
  #4 (permalink)  
Старый 26.08.2014, 07:21
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,772

Сообщение от dozer
так тоже не пашет
Жуть какая-то...

Как вариант...

<!DOCTYPE html>
<html>
<head>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
var count=0;
function inc(N) {
	count+=N;
	console.log(count);
};
</script>
</head>
<body>
<button type="button" class = "button_plus" onclick="inc(1)">plus</button>
<button type="button" class="button_minus" onclick="inc(-1)">minus</button>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 26.08.2014, 11:52
Интересующийся
Отправить личное сообщение для dozer Посмотреть профиль Найти все сообщения от dozer
 
Регистрация: 26.12.2011
Сообщений: 15

да, этот вариант работает, спасибо за преступление, как говорится
Мой код частично заработал, когда счетчик вынес в глобальную зону. По нажатию соответствующей кнопки он плюсует, но потом не отнимает. Как то так:
<script type="text/javascript">
    var count = 0;
    function func() {
            var plusButton = document.getElementsByClassName("button_plus");
            var minusButton = document.getElementsByClassName("button_minus");
            if (document.onclick = plusButton) {
                count++;
                console.log(count);
        } else if (document.onclick = minusButton) {
                count--;
                console.log(count);
            }
    };</script>
Ответить с цитированием
  #6 (permalink)  
Старый 26.08.2014, 12:02
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от dozer
.getElementsByClassName
возвращает массив.
Сообщение от dozer
if (document.onclick = plusButton)
чего-чего?!
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Увеличение по клику singmen Общие вопросы Javascript 1 24.07.2014 02:46
Открытие/закрытие дива по клику ссылки и закрытие по клику вне слоя vertmann Общие вопросы Javascript 3 18.11.2013 12:36
Помогите сделать так чтоб по клику открывалось и по клику же закрывалось Maxsl_89 Элементы интерфейса 1 25.10.2013 15:11
Простейшее увеличение изображения pr1est Events/DOM/Window 5 15.04.2013 22:59
увеличение картинки по клику highslide terveg Общие вопросы Javascript 1 16.11.2010 13:39