Jump to content

s0rr0w

User
  • Posts

    5,139
  • Joined

  • Last visited

  • Days Won

    32

Everything posted by s0rr0w

  1. Да это уже клиникой попахивает...
  2. Лично я бы сделал так. Сделал контейнер тултипа с идентификатором. Внутри него загрузил бы кучу контейнеров с подсказками, и проидентифицировал бы каждый контейнер. На окно повесил бы событие, которое скрывает тултип. На кнопки навесил бы событие, по которому показывается контейнер тултипов и конкретная подсказка. Не забыть остановить распространение события, иначе сработает онклик на окне и тултип скроется. Все.
  3. Я не знаю, куда вы смотрели, но примеры по моей ссылке выделены красным цветом.
  4. Посмотрел на код выше. Да, действительно не поможет, так как картинке присваивается float: left, что извлекает ее из потока. Самый быстрый способ - две ячейки. Если картинка у вас всегда одного размера, то можете положить ее как фон у TD, самой TD присвоить vertical-align: middle; Ссылке поставить display: block; padding-left: 100px; min-height: 80px; height: 80px; Вообще ваша задача немного нетривиальная с точки зрения HTML, потому что требует немного неестесственного поведения элементов.
  5. Неплохо было бы увидеть HTML. Да и зачем вы проверяете на совпадение таргета? Присваивайте сразу элементу listener
  6. Ключевое слово CSS - vertical-align
  7. Пример №1. Табы. Дабы не брать примитивные статические примеры, я решил приблизить создание интерфейсных решений к реальности. Для этого я выбрал XML+XSLT. XML легко описывает нужные структуры, а XSLT помогает понять автоматизацию процессов неких абстрактных систем, и, соответственно, показать преимущества технологии «StateController». Сложность последующих примеров будет расти, чтобы показать трудозатраты на модификацию кода. Итак, у нас есть некая структура данных, которая описывает модули управления правами системы. <modules> <module> <id>идентификатор модуля</id> <name>имя модуля</name> <desc>описание</desc> <content> <text>контент</text> </content> <visual>визуальные данные</visual> </module> </modules> Структура HTML для функционирования табов будет простой <div id="tabContainer"> <div id="tabSwitchBox" class="tabSwitchBox"></div> <div id="tabSwitchPlate" class="tabSwitchPlate"></div> </div> Каждый переключатель таба у нас будет ссылкой, каждый контейнер для контента - div'ом. Дабы не проходить два раза по списку модулей, переключатель таба мы расположим рядом с контетом таба. Дальше активируем табы SC.launch( { move: { c: "tabSwitchPlate", data: { cntnr: "tabSwitchBox" } } }, { click : { v: <xsl:value-of select="//modules/module[1]/id"/>, c: "tabSwitchBox" } } ); Запустим два события: "move" и "click". Событие "move" запускаем в контейнере "tabSwitchPlate", в качестве параметра запуска события передадим контейнер, в который нужно перенести ноды: "tabSwitchBox". SC обойдет все ноды, если нода имеет обработчик, который реагирует на событие "move", то функция будет выполнена. Таким образом нужные нам переключатели таба переедут в другой контейнер. Событие "click" нужно нам для активации первого таба. Генерируем событие, которому присваиваем значение id первого модуля, и запускаем его среди переключателей табов. Ниже описана функция, которая срабатывает при нажатии на переключатель таба. var activateTab = function ( id, visual ) { try { SC.launch( { tab: { v: id, c: "tabContainer", p: "childNodes", d: 2 } }, { visual: { v: visual, c: "tabContainer", p: "parent" } } ); } catch ( e ) {}; }; Тут у нас тоже два события. Первое производит активацию нужного нам таба, второе - делает визуальные эффекты. В данном случае, это смена цвета бордюра у табов и контейнера с контентом. Итак, мы устанавливаем значение событию "tab" равное идентификатору модуля, потом запускаем событие в контейнере "tabContainer", событие распространяется на детей на глубину в 2 уровня. Т.е. обходчик нод проверит контейнер "tabContainer", потом два контейнера "tabSwitchBox" и "tabSwitchPlate", и всех их детей. Для переключателей табов будет активирован тот, у которого значение в параметре обработчика совпадет со значением события "tab". Соответственно, у контейнеров с контентом будет показан активный контейнер. Событие "visual" распространяется только на контейнер "tabContainer", так как параметр "p" установлен в "parent". Этому контейнеру будет присвоен класс, который указан как значение события "visual". Теперь рассмотрим недостатки данного кода: * Мы используем слишком много идентификаторов для работы кода * В функции activateTab "зашиты" идентификаторы, что не позволяет использовать более гибко данный код. * Желательно использовать дополнительную структуру XML, которая будет заниматься визуализацией компонента таба, чтобы вынести код в отдельный компонент. В следующем примере постараемся исправить данные недостатки, чтобы более универсализировать код.
  8. На сайте автора этого скрипта есть исчерпывающая информация по данному поводу. Мало того, аналогичное пояснение можно найти в интернете на русском языке. Достаточно воспользоваться поисковой системой. Зачем вы тратите наше время на решение примитивных задач?
  9. Платили 200 баксов... или даже больше. Не помню уже. Взяли без опыта работы, без крутого портфолио. Потому что реально было очень мало спецов.
  10. Паритет = соотношение. Написано все верно. И еще, слово приоритет пишется через букву "и".
  11. Знания. Убери BR вообще, он там не нужен
  12. Эт пока не начнете динамику к ИЕ присобачивать. Вот там хаки как их ведра будут сыпаться. Даже для 8-ки.
  13. Чтобы не было отпрыгивания, на место прикрепляемой таблицы нужно вставить заглушку, которая будет равняться высоте таблицы.
  14. Угу, именно так и было. Мало того, благодаря этому сайту меня взяли в дизайнерскую конторку.
  15. В 99% случаев это так. Но есть ньюансы с ИЕ
  16. Я бы номер версии не ставил бы... Верстать под ИЕ - это всегда убиваться.
  17. s0rr0w

    кнопка

    Вопрос как изначально звучал? "Народ помогите добавить кнопку в меню сайта" Как по мне, то эта фраза не подразумевает то, что вы что-то пытались сделать самостоятельно, но у вас не получилось, и вы с ошибкой пришли к нам за советом.
  18. В гугле их навалом. Ищите. Как будет что-то не получаться - обращайтесь. Я за вас скрипты писать не нанимался.
  19. В архиве лежат примеры использования SC в разработке интерфейсов. По мере добавления новых примеров архив будет обновляться. Примеры sc_samples.zip Внимание пользователям Google Chrome! В данном браузере просмотр примеров с локального диска невозможен из-за проблем разработчиков с безопасностью. Если есть острое желание просмотреть примеры именно в Chrome, то вам необходимо выложить файлы на веб-сервер или же запустить браузер с параметром --allow-file-access-from-files
  20. Можно. JS в зубы и вперед! position: fixed спасет отца русского программирования.
  21. Хочу огорчить, но есть варианты, когда чрезмерное увлечение зумом идет во вред.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy