На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU, ANDLL, fatalist
  
> <DIV>, filter: allpha, onMouseDown , JavaScript
    Проблема в следущем:
    Есть тэг ДИВ, мне надо чтобы он был полупрозрачным (те я использую filter: alpha(opacity=40);). Но загвоздка вот в чём: полупрозрачным он должен становится только при нажатии крысой на этот тэг, а onMouseDown работает только если у ДИВА нет "filter...", те как только я вставляю в описание ДИВа "фильтр..." онМаусДаун сразу перестаёт обрабатываться.
    Пробывал сначала делать opacity=100 - не работает, пробывал делать z-index (мне кажется чёто с этим должно быть связано) - тоже ноль имоций...
    ПОМОГИТЕ!!!!
      z-index отвечает за позиционирование слоев (то есть, за ось Z). Странно, что onmousedown не работает. Ты используешь DOM? А другие события использовать пробовал (mouseclick, например или mouseover)?
        нельзя клик, тк при онмаусап ДИВ должен опять стать непрозрачным....
          Я имелл ввиду, работает ли твой код вообще. Неужели дело именно в событии onmousedown? Протестируй так, чтобы он становился прозрачным при onmouseover, а видимым при onmouseout. Работает?
            <img...> работает, с дивом не пробовал... ща попробую....
              а можно ли в яваскрипте создать фильтр "налету"?, те в описании тэга фильтра нет, а когда надо он создаётся... и так же его убить?
                Вот поэтому я и спрашивал про DOM. Фильтр у тебя задается в CSS, ведь так? Тогда div'у присваиваем аттрибут id:
                ExpandedWrap disabled
                  <div id="the_div" onmousedown="filter_hi()" onmouseup="filter_lo()">...</div>

                А ЯваСкрипт выглядит так:
                ExpandedWrap disabled
                  function filter_hi() {
                  document.getElementById("the_div").style.filter = "alpha(opacity=40)"
                  }
                  function filter_lo() {
                  document.getElementById("the_div").style.filter = "alpha(opacity=0)"
                  }
                Сообщение отредактировано: Trustmaster -
                  я проверил с ДИВом - всё работеат, хотя я делал не много по другому(но смысл тот же). Но мне надо именно онМаусДаун!!!
                  а как насчёт фильтра "налету"?
                    Администраторам форума: черт бы побрал эту подсветку >:( По-прежнему портит код!

                    seelts, ты меня немножко не понял. Чтобы было совсем понятно, получай пример такого дива, как тебе нужен (надеюсь, разберешься что к чему). Смотри прикрепленный файл.
                    Прикреплённый файлПрикреплённый файлdiv_hilite.zip (0.55 Кбайт, скачиваний: 180)
                      во! то что мне надо!!! а есть способ убить фильтр через яваскрипт? те после того как первый раз произошёл маусдаун у дива появляется фильтр и он остаётся навсегда, а можно так чтоб после маусап не значение изменялось а весь фильтр удалялся?...

                      Добавлено в :
                      кстати необязательно делать id можно onMouseDown="filter_hi(this);" и в самой функции уже работать с параметром...
                        "Убить" фильтр нельзя. Можно сделать так:
                        ExpandedWrap disabled
                          document.getElementById("the_div").style.filter = ""

                        То есть "стереть".
                        Про ID: просто я предпочитаю DOM.
                          Цитата
                          Про ID: просто я предпочитаю DOM.

                          this - это тоже DOM!
                            Цитата
                            this - это тоже DOM!

                            Не обязательно. this работает и без поддержки DOM. this - всего лишь указатель на текущий объект. Слишком многое зависит от ситуации. В данном случае ты абсолютно прав :D.
                              Цитата Trustmaster @ 22.07.04, 10:34
                              "Убить" фильтр нельзя. Можно сделать так:...

                              можно:
                              .style.removeAttribute("filter");
                              спасибо всем у меня получилось, НО:
                              (между маусдаун и маусап обрабатывается маусмув)раньше маусмув обрабатывался замечательно, а тепер (когда есть прозрачность) он обрабатывается только когда мышь у границ ДИВа....
                              чё за беда?

                              Добавлено в :
                              я не понимаю разницу между CSS и DOM объясните пожалуйста
                                Разницы между CSS и DOM нет. DOM - это не стили, а "Dynamic Object Model". Это особая система классификации HTML (XML, XHTML и не только) в виде "дерева" объектов. К каждому объекту можно получить доступ: 1) Через тэг, 2) Через другой объект, 3) Через уникальный идентификатор. Применяется в основном для создания DHTML-содержимого.
                                А разница в том, что некоторые старые браузеры поддерживают CSS, но не поддерживают DOM.
                                Насчет беды с МаусМувом: скорее всего у тебя объекты перекрывают друг друга, и mousemove срабатывает там, где сам div ничем не перекрыт.
                                  да в том то и дело что этот ДИВ у меня один на странице - я пока просто проверяю... и маусмув срабатывает только если мыш на границе ДИВа, когда прозрачности небыло - всё было ништяк....
                                    Ваш код, пожалуйста.
                                      Подскажите плиз как получить доступ к свойству z-index слоя? ....style.z-index не работает, воспринимает как z минус index
                                        Цитата
                                        Гость Unknown, 24.07.04, 07:03
                                        Подскажите плиз как получить доступ к свойству z-index слоя? ....style.z-index не работает, воспринимает как z минус index

                                        style.zIndex
                                          Цитата Trustmaster @ 23.07.04, 20:54
                                          DOM - это не стили, а "Dynamic Object Model"

                                          Мне казалось, что не "Dynamic", а "Document" :blink: Ох уже мне эти аббревиатуры...
                                            2 Astaroth: да, Document. Что уж, и ошибиться нельзя :)
                                            (Оффтоп: )Кстати, об аббрeвиатурах: вот PHP сначала расшифровывался как "Personal Home Page", а сейчас уже и расшифровки никакой нет - PHP и все тут! "Моя велик!" - ©.
                                            Сообщение отредактировано: Trustmaster -
                                              Цитата Trustmaster @ 23.07.04, 23:22
                                              Ваш код, пожалуйста.

                                              в index.html есть коментариии
                                              Сообщение отредактировано: seelts -

                                              Прикреплённый файлПрикреплённый файлcb.zip (1.54 Кбайт, скачиваний: 152)
                                                Так ничё никто и не придумал? :wall:
                                                  Извини, все-таки в чужом коде не очень удобно копаться. Особенно если даже на свой времени нет :)
                                                    seelts,
                                                    M
                                                    на будшее для название тегов используй англицкий ( те вместо "ДИВ" пользуй "тег div" )
                                                      seelts,
                                                      только что протестировал - onMouseDown работает при любых значениях св-ва filter. Между ними (между событием мыши и фильтром) по сути не может быть никакой связи.
                                                        2SergeS:
                                                        дык не в скриптах же я так пишу а только када объясняю - чтоб быстрее - в падлу переключаться между языками....

                                                        2Mastilior:
                                                        понятно что не может, но ты мой код смотрел? там всё работает только если всё время то создавать то удалять "свойство" фильтр но при этом глюки.....
                                                          seelts,
                                                          я ето тоже заметил - тока выглядит такое со стороны ....
                                                            Цитата Mastilior,3.08.04, 17:15
                                                            seelts,
                                                            только что протестировал - onMouseDown работает при любых значениях св-ва filter. Между ними (между событием мыши и фильтром) по сути не может быть никакой связи.

                                                            выложи свой код пожадуйста...
                                                              Прошу прощения, оказалось, что код заработал только после того, как я сократил до половины кода (а вообще в JS-скрипте есть некоторый ошибки).

                                                              Еще раз перечитаю тему и обязательно что-нибудь напишу ;)
                                                                Работающий вариант. Протестировано в IE 5.0.
                                                                Прикреплённый файлПрикреплённый файл1.zip (1.17 Кбайт, скачиваний: 162)
                                                                  я понял твой код, но не понял почему мой не работал...
                                                                  объясни плиз... :blink:
                                                                  1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                                                  0 пользователей:


                                                                  Рейтинг@Mail.ru
                                                                  [ Script execution time: 0,0541 ]   [ 14 queries used ]   [ Generated: 16.07.25, 20:46 GMT ]