Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: передача и использование аргумента в класс
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » передача и использование аргумента в класс

Страниц (1): [1]
 

1. broshurkaplus - 10 Апреля, 2013 - 17:35:04 - перейти к сообщению
здравствуйте
разбираю код, все очень путано пробелы удалены и все в одну строку, трудно чтото найти, вот задался вопросом:

есть елемент
CODE (html):
скопировать код в буфер обмена
  1. <a href="#" class="block select c000 fbold rel br3 showbox nowrap tdnone clicker {clickerID:'header_region'}" id="chooselocList">
  2. <span class="icon mini down2 abs">&nbsp;</span>
  3. <span class="">Выбрать регион</span>
  4. </a>

интересует вот этот кусок
CODE (html):
скопировать код в буфер обмена
  1. clicker {clickerID:'header_region'}


я полагаю, что это передается в класс и при нажатии поссылке выполняется скрипт, привязанный на ид эл-та, который по clickerID в зависимости от переменной(тут header_region) передает параметры в него...

ИЛИ КАК?

пожалуйста объясните мне, а то не нагуглил

спасибо
2. esterio - 10 Апреля, 2013 - 17:38:40 - перейти к сообщению
Ну HTML5 позволяет почти все символы. Интересует следещее: есть ли описание такого класса
(Добавление)
П.С. как по мне, так ето извращени так делать
Цитата:
block == display: block;
c000 == color: #000000;
fbold == font-weight: bold;

И т.д.
3. broshurkaplus - 10 Апреля, 2013 - 17:49:01 - перейти к сообщению
не понял этого: "Ну HTML5 позволяет почти все символы"
что вы имели ввиду?

есть ли описание такого класса: весь код цсс в одну строку = 50 вордовских страниц, но я поиском не нашел в нем класса "clicker"
к документу подключена только одна эта таблица

что можете подсказать, а тоя не знаю...

вы написали:
== - это вместо {} в HTML5

пожалуйста объясните что может означать и для чего пользоваться
clickerID:'header_region'

в

<a href="#" class=" clicker {clickerID:'header_region'}" id="chooselocList">
4. nerv - 12 Апреля, 2013 - 10:18:59 - перейти к сообщению
broshurkaplus пишет:
интересует вот этот кусок

лично мне не понятно, что он делает в классе. Для подобных целей в HTML5 существуют data- атрибуты.
5. DelphinPRO - 12 Апреля, 2013 - 11:52:05 - перейти к сообщению
nerv пишет:
Для подобных целей в HTML5 существуют data- атрибуты.

Видимо программисту, который это писал, такие атрибуты неизвестны, и он запихал их в класс.

Ну а что делает, догадаться несложно - указывает на какой-то элемент, с которым что-то должно произойти при клике на ссылку. яваскриптом идентификатор выдергивается из описания класса. Хотя проще было бы писать ID в атрибут href и воспользоваться свойством hash при обработке клика.
6. esterio - 12 Апреля, 2013 - 12:08:16 - перейти к сообщению
DelphinPRO пишет:
Видимо программисту, который это писал, такие атрибуты неизвестны, и он запихал их в класс.

Ну а что делает, догадаться несложно - указывает на какой-то элемент, с которым что-то должно произойти при клике на ссылку. яваскриптом идентификатор выдергивается из описания класса. Хотя проще было бы писать ID в атрибут href и воспользоваться свойством hash при обработке клика.

Модно подробней про:
1. data- атрибуты
2. свойство hash
7. DelphinPRO - 12 Апреля, 2013 - 12:11:28 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1. <a href="#header_region" data-id="header_region">a</a>
  2. <div id="header_region">div</div>


CODE (javascript):
скопировать код в буфер обмена
  1. $('a').click(function(event){
  2.   // hash
  3.   $(event.hash).hide();
  4.  
  5.   // data-attribute
  6.   var id = $(this).data('id');
  7.   $(id).hide();
  8. });
8. esterio - 12 Апреля, 2013 - 12:24:08 - перейти к сообщению
DelphinPRO
Спасибо.
1. теперь понял о чем речь(раньше не знал)
http://habrahabr[dot]ru/post/139210/
2. а вот с event.hash гугл молчит. я так понял ето обьект на котором сработал click?
9. DelphinPRO - 12 Апреля, 2013 - 12:39:01 - перейти к сообщению
в любую коллбэк функцию в jquery передается объект event.
Что в нем есть можно посмотреть распечатав его через for..in
(Добавление)
или console.log(event) и посмотреть в файрбаге
10. esterio - 12 Апреля, 2013 - 12:41:27 - перейти к сообщению
DelphinPRO
Да. Спасибо. Знаю. Поленился. Исправлюсь Радость
(Добавление)
Пробую. event.hash - undefined
11. DelphinPRO - 12 Апреля, 2013 - 12:55:38 - перейти к сообщению
CODE (javascript):
скопировать код в буфер обмена
  1. $(function(){
  2.         $('a').click(function(event){
  3.                 console.log(this.hash);
  4.         });
  5. });
  6.  

(Добавление)
CODE (javascript):
скопировать код в буфер обмена
  1. $(function(){
  2.         $('a').click(function(event){
  3.  
  4.                 // Забул указать на источник события
  5.                 console.log(event.target.hash);
  6.  
  7.         });
  8. });
12. esterio - 12 Апреля, 2013 - 12:59:12 - перейти к сообщению
Теперь понял. Спасибо
13. broshurkaplus - 14 Апреля, 2013 - 19:53:21 - перейти к сообщению
да уж, развился топик.
почитал интересно.

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

вобщем буду пробывать пользовать data-

напр data-id="header_region", отлавливаем клик и передаем в функцию значение, а на сервере проверяем что пришло и выдаем нужный результат. Если передали header_region, то выдаем список возможных вариантов регионов...

так понял, что это более лучше чем id юзать - можно меньше яваскрипта писать, не к каждому id, а одна функция передает, а все на сервере обрабатывается, в этом вся прелесть?

напр. куча кнопок для фильтра параметров, при клике один и тот же код(одна функция) передаст параметры взятые из data-id на сервер, а там вернется список возможных вариантов в зависимости по чем кликнули.

и последнее
не очень понял: юзать лучше именно "data-id" или возможно "data-любоеназвание"
и если много разных условий отбора то лучше ли подгружать условия или сразу загружать в страницу, а по клику только отображать?
обязательно к ссылке привязывать или можно к любому элементу?

правильно ли будет пользование так:

CODE (html):
скопировать код в буфер обмена
  1. <a href="" data-id="header_region">a</a> или <div  data-id="header_region">выбрать регион</div>


CODE (javascript):
скопировать код в буфер обмена
  1. $('ссылка/элемент/абзац/див').click(function(event){
  2.   // hash
  3.   $(event.hash).hide();
  4.    // data-attribute
  5.   var id = $(this).data('id');
  6.    //передаем например посстом скрипту и записываем ответ сервера в нужное место страницы
  7.    $('#нужныйдив').html(data)
  8. });
14. DelphinPRO - 14 Апреля, 2013 - 20:39:45 - перейти к сообщению
broshurkaplus пишет:
юзать лучше именно "data-id" или возможно "data-любоеназвание"
и если много разных условий отбора то лучше ли подгружать условия или сразу загружать в страницу, а по клику только отображать?
обязательно к ссылке привязывать или можно к любому элементу?

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

 

Powered by ExBB FM 1.0 RC1