Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите отработать решение (https://javascript.ru/forum/misc/60264-pomogite-otrabotat-reshenie.html)

майрбек95 20.12.2015 16:24

Помогите отработать решение
 
Добрый день! Есть такое решение:

<html>
<head>
<style>
</style>
</head>
 
 
 
<body>
 
<span id="num">50</span>
 
<a href="" class="linkj"> link </a>
<a href="" class="foo"> link </a>
<a href="" class="linkj"> link </a>
<a href="" class="foo"> link </a>
<a href="" class="linkj"> link </a>
<a href="" class="foo"> link </a>

 
 
 
<script>
 
f = function(event){
      event.preventDefault()
      if(this.clicked) {this.clicked = false; num.innerHTML = (+num.innerHTML) - 1; return}
      this.clicked = true; num.innerHTML = (+num.innerHTML) + 1
}
 
 
;[].forEach.call(document.querySelectorAll("a[class = 'linkj']"),function(a){
      a.onclick = f
})
 
 
</script>
 
</body>
</html>


оно работает так как надо, но дело в том что на самом сайте кнопки выглядет так <div class="wish wdel"> link </div> при клике класс изменяется (в реальном времени без обновления страницы) на <div class="wish wadd"> link </div> еще раз кликнув становится опять <div class="wish wdel"> link </div> и так по кругу, мне нужно чтобы если класс wish wadd скрипт прибавлял одну цифру а если wish wdel вычитал из этого <span id="num">50</span> и чтобы все это происходило без обновления страницы, очень нужна ваша помощь, прошу прощенья что создал эту тему

майрбек95 20.12.2015 17:40

Никто не поможет?

gbb 20.12.2015 18:30

попробуйте так
<html>
<head>
<style>
</style>
</head>
  
  
  
<body>
  
<span id="num">50</span>
  
<div class="wish wadd"> link </div>
<div class="wish wdell"> link </div>
<div class="wish wadd"> link </div>
<div class="wish wdell"> link </div>
<div class="wish wadd"> link </div>
<div class="wish wdell"> link </div>
<div class="wish wadd"> link </div>
<div class="wish wdell"> link </div>
 
  
  
<script>
  
var f = function(event){
      event.preventDefault()
      if(/wadd/.test(this.className)) {this.clicked = false; num.innerHTML = (+num.innerHTML) - 1; return}
      this.clicked = true; num.innerHTML = (+num.innerHTML) + 1
}
  
  
;[].forEach.call(document.querySelectorAll("div.wish"),function(d){
      d.addEventListener("click", f)
})
  
  
</script>
  
</body>
</html>

майрбек95 20.12.2015 19:13

Скрипт может улавливать класс кнопки? Просто дело в том что кнопка при каждом клике меняет свой класс с wish wadd на wish wdell и обратно по кругу. Можно сделать?

майрбек95 20.12.2015 19:14

Чтобы если класс wish wadd то +1 если wish wdell то -1, а классы эти меняются при каждом клике по гругу без перезагрузки страницы

gbb 20.12.2015 21:01

майрбек95,
В таком виде как я дал не работает? Что конкретно не работает?

майрбек95 20.12.2015 21:38

Нажимая на одну и ту же кнопку всегда плюсуется

gbb 20.12.2015 21:44

майрбек95,
У вас на странице или здесь? Здесь то понятно, что так оно будет, поскольку тут классы не меняются. но у Вас то по клику они меняются, поэтому должно работать.

майрбек95 20.12.2015 21:52

вот смотрите: http://torgstoyka.ru/

майрбек95 20.12.2015 21:53

нажмите на кнопку с сердечком возле товара, и посмотрите что происходит в верху "Мои желания"


Часовой пояс GMT +3, время: 20:59.