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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Ошибка Uncaught TypeError

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Alex213
Отправлено: 23 Июля, 2015 - 07:05:25
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1.     [].forEach.call(d.querySelectorAll('button'), function (but) {
  2.         but.addEventListener('click', function () {
  3.             var act = this.getAttribute('data-action');
  4.             cirles.forEach(function (el) {
  5.                 el.classList[act]('activess');
  6.             });
  7.         }, false);
  8.     });


В браузере выдает Uncaught TypeError: el.classList[act] is not a function как можно исправить?

(Отредактировано автором: 23 Июля, 2015 - 07:40:21)

 
 Top
DelphinPRO
Отправлено: 23 Июля, 2015 - 10:30:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Сначала хотелось бы узнать, что код должен делать.
el.classList[act]('activess'); потому что совсем непонятная шняга.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Deonis
Отправлено: 23 Июля, 2015 - 10:35:21
Post Id



Посетитель


Покинул форум
Сообщений всего: 298
Дата рег-ции: Нояб. 2009  


Помог: 14 раз(а)




Alex213 пишет:
как можно исправить?
Насколько я вижу, это часть кода, который я вам писал в предыдущей вашей теме. Переменной "act" присваивается значение или "add", или "remove", которые берутся из data-атрибутов кнопок и используются в качестве имени метода. Скорее всего, что вы или же изменили эти значения, или вообще убрали атрибут data-, в следствии чего и возникла ошибка.
 
 Top
Alex213
Отправлено: 23 Июля, 2015 - 14:43:59
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




Deonis пишет:
Насколько я вижу, это часть кода, который я вам писал

Да вы правы, на самом деле даже в первоначальном варианте выскакивает такая ошибка, хотя все работает как надо, смущает только то, что в консоли хрома выскакивает данная ошибка, хотелось бы от нее избавиться, сначала сам пробовал как-то разобраться ( не особо пока разбираясь в javascript) , но в общем ничего так и не смог сделать
(Добавление)
Alex213 пишет:
Deonis пишет:
Насколько я вижу, это часть кода, который я вам писал

Да вы правы, на самом деле даже в первоначальном варианте выскакивает такая ошибка, хотя все работает как надо, смущает только то, что в консоли хрома выскакивает данная ошибка, хотелось бы от нее избавиться, сначала сам пробовал как-то разобраться ( не особо пока разбираясь в javascript) , но в общем ничего так и не смог сделать

Ой, хотя нет, извините, вы правы, я разобрался))

(Отредактировано автором: 23 Июля, 2015 - 14:46:40)

 
 Top
Alex213
Отправлено: 23 Июля, 2015 - 19:49:52
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




Deonis пишет:
Насколько я вижу, это часть кода, который я вам писал

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

PHP:
скопировать код в буфер обмена
  1. .circle<?=$row_s['nom']?> {
  2.         background:url(img/ico/viem_p.png) no-repeat center center;
  3.         width:54px;
  4.         height:42px;
  5.         cursor:pointer;
  6. }
  7. .activess<?=$row_s['nom']?> {
  8.         background:url(img/ico/viem_c.png) no-repeat center center;
  9.  
}

CODE (javascript):
скопировать код в буфер обмена
  1. var d = document;
  2. d.addEventListener('DOMContentLoaded', function () {
  3.     var cirles = [].slice.call(d.querySelectorAll('.circle<?=$row_s['nom']?>'));
  4.  
  5.     [].forEach.call(d.querySelectorAll('button'), function (but) {
  6.         but.addEventListener('click', function () {
  7.             var act = this.getAttribute('data-action<?=$row_s['nom']?>');
  8.             cirles.forEach(function (el) {
  9.                 el.classList[act]('activess<?=$row_s['nom']?>');
  10.             });
  11.         }, false);
  12.     });
  13.    
  14.     cirles.forEach(function (el) {
  15.         el.addEventListener('click', toggleCirсleClass);
  16.     });
  17.  
  18.     function toggleCirсleClass() {
  19.         this.classList.toggle('activess<?=$row_s['nom']?>');
  20.     }
  21.  
  22. }, false);
  23.  


CODE (html):
скопировать код в буфер обмена
  1.  <li><button data-action<?=$row_s['nom']?>="add">Выделить все</button></li>
  2.  <li><button data-action<?=$row_s['nom']?>="remove">Отменить выделение</button></li>

(Отредактировано автором: 23 Июля, 2015 - 19:50:49)

 
 Top
Deonis
Отправлено: 23 Июля, 2015 - 23:13:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 298
Дата рег-ции: Нояб. 2009  


Помог: 14 раз(а)




Alex213 пишет:
.circle<?=$row_s['nom']?>
Alex213 пишет:
d.querySelectorAll('.circle<?=$row_s['nom']?>')
Alex213 пишет:
data-action<?=$row_s['nom']?>="add"

Шок Это что было? Я даже не знаю, как реагировать на такой код. Вы всегда смешиваете всё в кучу: php, html, css, js...? Зачем вам нужно добавлять какие-то значения $row_s['nom']?
 
 Top
Alex213
Отправлено: 24 Июля, 2015 - 05:42:06
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




Deonis пишет:
Вы всегда смешиваете всё в кучу: php, html, css, js...?

Я просто недавно этим делом занимаюсь и делаю пока не совсем разумно
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB