Как правильно организовать счетчик и запись переменных.

GBMBY

Client
Регистрация
23.01.2016
Сообщения
17
Благодарностей
0
Баллы
3
Поиск к сожалению мне не помог :( Как обычно новички могут искать не совсем верно учитываю всю внутреннюю кухню программы :( Попытаюсь

Собственно через дерево элементов я нашел нужную иконку. Это иконка лайк.
Ее значение может быть :
icn\ icn-white\ icn-like
icn\ icn-white\ icn-approve

Как лучше реализовать следующий момент, мне необходимо чтобы программа искала этот элемент, проверяла его значение если значение апрув то значение счетчика +1, и следующий поиск если значение лайк то клик на этом лайке значение счетчика +1 и так далее.

Проблема с началом схемы, концовку вроде как понимаю как сделать :( можно в принципе ткнуть носом в каком направлении двигаться. Всем добра :-)
 

Вложения

  • 114,9 КБ Просмотры: 254
  • 125,7 КБ Просмотры: 440

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
пробуешь дать клик в icn\ icn-white\ icn-like. Если клик проходит - апаешь счетчик. Если не проходит - всё равно апаешь счетчик)

При условии, что я правильно понял, что icn\ icn-white\ icn-like это нелайкнутое состояние
 
  • Спасибо
Реакции: GBMBY

GBMBY

Client
Регистрация
23.01.2016
Сообщения
17
Благодарностей
0
Баллы
3
клик будет проходить в любом случае только если лайк не поставлен - он соответственно его ставит, если лайк поставлен он его убирает. поэтому нужна проверка чтобы не убирать лайки которые поставлены ранее.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Ты же сам написал два состояния. Как клик будет проходить, если будет второе состояние?
 
  • Спасибо
Реакции: GBMBY

GBMBY

Client
Регистрация
23.01.2016
Сообщения
17
Благодарностей
0
Баллы
3
клик проходит в любом случае:
меняя состояния на противоположное. тоесть
icn\ icn-white\ icn-like при клике переходит в icn\ icn-white\ icn-approve и наоборот.

или я может как то криво объясняю :(
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
ты должен понять, что если будет состояние icn\ icn-white\ icn-approve, а мы будем кликать icn\ icn-white\ icn-like, то клика не будет и будет выход по ветке неуспеха
 
  • Спасибо
Реакции: GBMBY

GBMBY

Client
Регистрация
23.01.2016
Сообщения
17
Благодарностей
0
Баллы
3
дошло :-) спасибо. буду пробовать.
 

GBMBY

Client
Регистрация
23.01.2016
Сообщения
17
Благодарностей
0
Баллы
3
Оказалось все не так просто :-)
Собственно что имеем:
5 элементов отвечающих за кнопку мне нравится. она соответственно либо нажата и стоит лайк или не нажата лайк не стоит.
Что я сделал:
У каждого элемента проверил имя атрибута и его значение когда лайк нажат или не нажат чтобы от этого можно было оттолкнуться при составлении логики.
Что могу сказать все значения атрибутов абсолютно одинаковые в том или ином случае.
От чего еще можно оттолкнуться при проверке нажат лайк или нет? :(
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Вы бы лучше показали как сейчас у вас реализовано подробно со скринами.
 

GBMBY

Client
Регистрация
23.01.2016
Сообщения
17
Благодарностей
0
Баллы
3
Вы бы лучше показали как сейчас у вас реализовано подробно со скринами.
Попробую :-)

Что имеем: сайт фотострана.

Что необходимо сделать: чтобы мы заходили в определенную вкладку выбирали параметры и лайкали людей удовлетворяющих этим параметрам, но не лайкали тех у кого лайк стоит.

Что не получается: реализовать процесс лайкинга.

Как я себе представлял реализацию данной задачи:
Изначально я почему то думал, что есть элемент отвечающий за лайк, и когда мы лайкаем то значение этого элемента меняется.


Исходя из этого: нахожу элемент отвечающий за лайк вытаскиваю его значение сравниваю, в зависимости от того, что мы получили, мы ставим лайк или просто крутим счетчик и обрабатываем следующий элемент.

Что получил на практике:
Элементов как видно из рисунка привязанных к кнопке - 5.
Первый i - icn\ icn-white\ icn-like (активен когда лайк не стоит)


Второй i - icn\ icn-white\ icn-approve (активен когда лайк стоит)


Третий i - icn\ icn-white\ icn-meeting (ни при каких обстоятельствах он не активен)
Четвертый span сама кнопка "мне нравится" - label-like (
активен и когда лайк стоит и тогда когда не стоит)
Пятый span - label-match (
ни при каких обстоятельствах он не активен)

Все значения элементов беру из имени атрибута class.

Под активен я подразумеваю что мы выбираем его в дереве элементов и он подсвечивает то за что отвечает в браузере.

Может быть я не в том направлении мыслю?!
Но как реализовать то что мне необходимо?!
Спасибо.
 

Вложения

  • 132 КБ Просмотры: 400
  • 237,4 КБ Просмотры: 428
  • 311,4 КБ Просмотры: 258
  • 399 КБ Просмотры: 405
  • 403,8 КБ Просмотры: 249

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
понял. можете кинуть в личку мыло и пароль от любого аккаунта и урл по которому нужно зайти чтобы увидеть этот список юзеров? мне проще подобрать вам атрибуты будет помочь, чем теоретически написать)
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
При клике на элемент лайка, он не пропадает из Дома, он просто становится невидимым (ширина и высота становятся 0). Поэтому нужно делать проверку на ширину или высоту.
Пример реализации во вложении
 

Вложения

  • 90,8 КБ Просмотры: 196
  • Спасибо
Реакции: GBMBY

GBMBY

Client
Регистрация
23.01.2016
Сообщения
17
Благодарностей
0
Баллы
3
Благодарю :-)
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)