Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   изменение цвета при клике (https://javascript.ru/forum/jquery/59802-izmenenie-cveta-pri-klike.html)

Mess4me 28.11.2015 14:10

laimas,
как у Вас хватило терпения столько текста написать :)

apol775 28.11.2015 14:18

benefis.co.il

apol775 28.11.2015 14:21

Цитата:

Сообщение от Mess4me (Сообщение 397903)
laimas,
как у Вас хватило терпения столько текста написать :)

Да, уже за это - СПАСИБО!!!:)

apol775 28.11.2015 14:23

Я согласен - это иррационально, но что есть то есть. Помогите понять, как это реализовать

laimas 28.11.2015 14:41

Цитата:

Сообщение от apol775
Может я не там вставляю?

Вот как у вас формируются селекторы ститлей:

.custom_price_color<?=$j;?> - то есть в итоге будет класс может быть типа custom_price_color_xxx, где xxx изменяемое значение (ключ массива, в котором вы ворошите таблицу стилей). А вам нужно на все элементы установить так ведь? Значит нужно по группе установку делать:

<html> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script> 
$(function() {
    $('[class ^=custom_price_color]').click(function() {
        alert(this.className)
    })
});
</script>     
</head> 

<body>
<span class="custom_price_color_aaa">Test 1</span>
<span class="custom_price_color_bbb">Test 2</span>
</body> 
</html>


И я не тот селектор написал и некорректно, в примере как надо.

PS. Вы не ответили на вопрос о условиях смены цвета по щелчку, и если так как я предполагаю, то не
this.style.background = this.style.background == '' ? 'red' : ''
а изменяйте класс, зачем же с ними парился сервер, если еще и клиенту цветом заниматься?

apol775 28.11.2015 14:54

То что селектор не тот это я понял, поставил правильный, но эффекта нет. Я догадываюсь, что Вас наверное иногда раздражает тупизна (я про себя:) ) людей задающих вопросы, и я честно уважаю людей пытающихся разжевать все. Вопрос в том, где это вставлять. Третий день ковыряю. Если можно - покажите. Спасибо.

apol775 28.11.2015 15:18

Цитата:

Сообщение от laimas (Сообщение 397909)
Вот как у вас формируются селекторы ститлей:

.custom_price_color<?=$j;?> - то есть в итоге будет класс может быть типа custom_price_color_xxx, где xxx изменяемое значение (ключ массива, в котором вы ворошите таблицу стилей). А вам нужно на все элементы установить так ведь? Значит нужно по группе установку делать:

<html> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script> 
$(function() {
    $('[class ^=custom_price_color]').click(function() {
        alert(this.className)
    })
});
</script>     
</head> 

<body>
<span class="custom_price_color_aaa">Test 1</span>
<span class="custom_price_color_bbb">Test 2</span>
</body> 
</html>


И я не тот селектор написал и некорректно, в примере как надо.

PS. Вы не ответили на вопрос о условиях смены цвета по щелчку, и если так как я предполагаю, то не
this.style.background = this.style.background == '' ? 'red' : ''
а изменяйте класс, зачем же с ними парился сервер, если еще и клиенту цветом заниматься?

Да, именно на все элементы

apol775 28.11.2015 15:20

ссылка на сайт www.benefis.co.il

laimas 28.11.2015 15:36

Вы бы лучше не ссылку на сайт, а часть исходного html кода страницы показали, где есть элементы с именами классов, которые получаются на сервере, на которые нужно установить обработчик. Если какое-то условие при этом нужно соблюдать, или еще что либо, то описать тоже их.

Иначе по РНР коду не понять конкретно на что именно надо устанавливать, а примеры мной приведенные вы либо не понимаете, либо....

Запустите пример приведенный, он же работает, вот типа такого и вам нужно, только на какие-то Х-классы. К тому же остается неясным вопрос - элементы эти уже присутствуют на странице при ее запросе клиенту, или же они подгружаются динамически Ajax, и если верно второе, то такая установка обработчиков работать не будет, нужно делегировать ее.

apol775 28.11.2015 15:54

В том то и дело. что в виду такой закрученности сложной структуре и работе множества плагинов, я не могу понять откуда ноги растут.
Псевдоклассы active и hover работают, а function click... не могу понять. Для меня сложно.


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