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

laimas 28.11.2015 16:04

Цитата:

Сообщение от apol775
в виду такой закрученности и сложности я не могу понять откуда ноги растут

Нет там никакой закрученности в РНР коде, есть принцип "по пути наименьшего сопротивления". Запросите страницу на которой нужна обработка элементов по щелчку. В контекстном меню браузера выбрать Исходный код страницы. В этом код найти код (часть кода, по которой можно будет понять суть), в котором есть те элементы, на которые нужно установить обработчик и представьте его на форуме. Это разве сложно?

apol775 28.11.2015 16:41

<div id="TBook_OverlayBox_1" class="TBook_OverlayBox" data-height="511" style="width: 720px; left: 261px; top: 48px; display: block; height: 686px;"><div id="TBook_OverlayBoxTop_1" class="TBook_OverlayBoxTop"></div><div id="TBook_OverlayBoxHead_1" class="TBook_OverlayBoxHead"><input type="button" value="Закончить" class="TBook_Button         "></div><div id="TBook_OverlayBoxSeats_1" class="TBook_OverlayBoxSeats" style="display: none;"></div><div id="TBook_OverlayBoxMiddle_1" class="TBook_OverlayBoxMiddle" style="width: 720px; height: 511px;"><img id="SBookMapImage_1" src="http://www.benefis.co.il/bron/app/web/upload/maps/d5812b469e2ba3f11ff932d8212f25f1.jpg" alt="Смоларш Тель-Авив" style="margin: 0; border: none; position: absolute; top: 0; left: 0; z-index: 500">
<style>
    .custom_price_color {
        background-color: #eb0c0c;
    }
    .custom_price_color:hover {
        background-color: #3bd90f !important;
    }

</style>

    <style>
                .custom_price_color632 {
            background-color: #f205f2 
        }
		
                .custom_price_color636 {
            background-color: #f205f2 
</style>			
//и так далее все места\\			
<style>
                .custom_price_color632:hover {
            background-color: #07f703 !important;
        }
		
		
                .custom_price_color636:hover {
            background-color: #07f703 !important;
        }
		
		
                .custom_price_color640:hover {
            background-color: #07f703 !important;
        }			
		</style>
//и так далее все места\\
<span onmouseout="UnTip()" onmouseover="Tip('Цена: 111.00ILS<br>Место: 1<br />2 ряд балкона 1 место', ABOVE, true, CENTERMOUSE, true, OFFSETX, 0);" rel="2060" rev="0" data-price_id="390" data-price="111.00ILS" data-hint="2 ряд балкона 1 место" class="custom_price_color custom_price_color2060 sbook-rect sbook-busy" style="width: 12px; height: 12px; left: 567px; top: 394px; line-height: 12px;">1</span>
<span onmouseout="UnTip()" onmouseover="Tip('Цена: 300.00ILS<br>Место: 47<br />3 ряд 47 место', ABOVE, true, CENTERMOUSE, true, OFFSETX, 0);" rel="837" rev="1" data-price_id="390" data-price="300.00ILS" data-hint="3 ряд 47 место" class="custom_price_color custom_price_color837 sbook-rect sbook-available" style="width: 12px; height: 12px; left: 34px; top: 65px; line-height: 12px;">47</span>
//и так далее все места\\

Это на карте зала непосредственно.
Наверное это не совсем то, код страницы большой

laimas 28.11.2015 17:08

Все нормально, ранее такое надо было привести и пояснить. Например сейчас ясно что там за реальные стили имеются. Как на группу установить обработчик я показывал, но теперь видно, что есть три класса: custom_price_color632, custom_price_color636 и custom_price_color640, у которых изменяется цвет по наведению мыши, а вопрос был именно для них изменять цвет при щелчке (в этой части кода таких элементов нет), но ведь есть еще элементы и с классами: custom_price_color2060 и custom_price_color837, которым не описано в стилях такового изменения цвета, а значит и щелчком изменять его тоже не надо? И если так, то селектор показанный в примере некорректный будет.

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

apol775 28.11.2015 17:37

не совсем так, код велик и я показал лишь часть. Дело в том, что custom_price_color не три а N?, где N - количество мест в зале. То есть там идет custom_price_color632, custom_price_color636 .......custom_price_color882, тоже самое с hover.
По щелчку менять на все N custom_price_color.

laimas 28.11.2015 17:59

Ну если их "туева туча", то такое "кодирование", то бишь управление цветом, это полный швах. Я теперь понимаю почему РНР код такой кошмарный - 632, 882 ... и т.д., это ID мест в зале, ну собственно номера их, так?

А как связаны между собой цена и цвет, по каким условиям? Опишите их.

apol775 28.11.2015 18:04

да, это именно ID, Цвет цены назначается через админку: выбираешь места, назначаешь цену и цвет цены соответственно. Что до "кодирование"-я и говорю - бред полный.

laimas 28.11.2015 18:10

Я не спрашиваю где задается цвет, я спрашиваю как связаны место-цвет-цена? У вас что truecolor зал с 16-ю миллионами цветов? Наверное же нет, используются от силы несколько из них, которые определяют группу мест, которые разные по цене, так ведь наверное?
Я уже столько вопросов задал, но еще ответа интересующего и нужного ни разу не получил.
Опишите связь, почему именно одним с наведением мыши изменение цвета, другим нет, чем определяется серо-буро-малиновый для одного места (или мест?), а для других в полосочку?
Вы понимаете о чем вас спрашивают?

apol775 28.11.2015 18:28

при наведении (hover), цвет изменяется всем, не зависимо от категорий. Я так понимаю, что это потому что он (hover), работает с custom_price_color , а там прописано, что взяти все custom_price_colorN, и поменять им цвет при наведении мышкой. Еще раз прошу простить за свое непонимание, на самом деле мне сложно понять. Повторюсь - при наведении - цвет меняет всем на одинаковый, изначально цветов на карте столько, сколько ценовых категорий.

laimas 28.11.2015 18:50

Даже не знаю как еще и задать вопрос, чтобы понятно было.

Что значит цветовые категории? По какому принципу или условию они задаются месту (или группы мест), или же как зависят о цены? Так понятно будет?

при наведении (hover), цвет изменяется всем, не зависимо от категорий

А зачем тогда в стилях указывать .custom_price_color632:hover, то есть конкретные классы, почему не использовать составные?

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

apol775 28.11.2015 19:23

я прекрасно понимаю Ваше удивление, я изначально говорил что это бред, и что сложно разобраться, тем более мне, человеку который, мягко говоря новичок. Почему сделано так как сделано - это вопрос риторический... Есть деятели, считающие такое построение нормой.
\\Что значит цветовые категории? По какому принципу или условию они задаются месту (или группы мест), или же как зависят о цены? Так понятно будет?\\
Задаются прямым выбором, Тип цены -А, места 1,2,3..5,25,30, 35... Цвет -В, Места имеют ИД, номер, и премичание (там указан номер ряда), но это как я понимаю к теме не относится. Главное это ИД. Места на карте зала сразу красятся в выбранный цвет. И все они меняются при наведении на них мышкой. Я так понимаю, что задавать вункцию по смене цвета по клику именно для .custom_price_color в общем. Но проблема в том, что до этого надо выбрать все .custom_price_colorN существующие на карте зала.
Если зайти на мероприятие, выбрать зал, станет видно, как это работает.
то что код изначально бредовый - это я понял. Но мне надо решить это хотя бы временно, писать что то новое нет времени.


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