Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
3 / 3 / 0
Регистрация: 10.07.2009
Сообщений: 101
1

Обращение к атрибуту, в имени которого символ тире

16.05.2013, 15:29. Показов 3659. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проблема состоит в том, что перед мной стоит сразу 2 задачи - сделать на сайте отображение автообновляемой картинки с камеры и на неё же прицепить что-то вроде зума.

Оговорюсь сразу - javascript я знаю очень плохо, поэтому код может быть... хреновым))

Суть проблемы в том, что автообновление картинки я смог сделать, без особых проблем, но вот прикрутить к неё зум оказалось проблемой.
Т.к. я сам зум сделать не смог, я взял готовый скрипт отсюда http://rvolve.com/zoom_pic.php. Очень хорошо подходит мне под задачу, но получается так, что путь к картинке там указывается в атрибуте data-scr:

Javascript
1
2
      <div id="my_zoom1" class="zoompic" data-src="http://admin@192.168.1.71/snapshot.cgi" data-animate="true" data-width="504" data-height="378" data-zoomicon="gray">
// [url]http://admin@192.168.1.71/snapshot.cgi[/url] отдает MJPEG кадр (jpeg картинку короче)
Как я обновляю картинку:

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var speed = 0;
 
function cam_show()
{
        var imacv = document.getElementById('my_zoom1');
        var time = now();
        imacv.onload = function()
        {
        start_show(imacv, now()-time);
        };
        imacv.data-src = "http://admin@192.168.1.71/snapshot.cgi?" + Math.random();
}
function now(){
    return (new Date).getTime();
}
 
function start_show(div, time)
{
    
    setTimeout(function()
    {
        var ctime = now(); 
        div.onload = function()
        {
            start_show(div, now()-ctime)
        };
        div.data-src = "http://admin@192.168.1.71/snapshot.cgi?"+Math.random();
    }, time*(speed+0));
    camtextt();
}
Проблема на 11-й и 27-й строках, а именно в куске "imacv.data-src". Все парсеры ругаются на bad left side argument, и если убираю тире - ошибка пропадает, но, логично, не будет работать обновление картинки.

Прошу помощи у гуру JS - как обратиться к атрибуду с таким странным именем? Пробовал убирать его в кавычки - толку нет((

Добавлено через 19 минут
По-пробовал setAttribute, но толку нет - он 1 раз меняет картинку и всё, причем меняет сразу при загрузке страницы. Ошибки в консоль при этом не сыпятся.

Да, забыл момент - внутри этого div-а, при открытии страницы, вырастает canvas, который, как я понял, и отвечает на зум и прочие эффекты. Тогда другой вопрос - как обновить содержимое канваса?))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2013, 15:29
Ответы с готовыми решениями:

Обращение к атрибуту d
Здравствуйте! Подскажите, пожалуйста, как обратиться к атрибуту d тега path в SVG. Т.е. дано...

Обращение к элементу по имени, часть которого - счетчик, вызывает ошибку
Привет народ, что-то не могу понять, почему не работает эта часть кода Controls(&quot;Label&quot; &amp; x).Width...

Подстановка имени компа DLookup Если в имени используются тире
Добрый вечер! Есть функция, найденная на этом форуме и определяющая имя компьютера: Private...

Обращение к атрибуту динамически созданного контрола
Добрый вечер форумчане, есть необходимость написать программу, в которой по заданым данным...

2
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
16.05.2013, 16:23 2
всякий атрибут/свойство можно заключить в квадратные скобки (и в кавычки)
пример:
HTML5
1
2
3
4
5
<!-- обычно пишут так -->
<body onload="document.body.style.background = 'red';"></body>
 
<!-- но можно и так -->
<body onload="document ['body'] ['style'] ['background'] = 'red';"></body>
мысль уловили?
0
3 / 3 / 0
Регистрация: 10.07.2009
Сообщений: 101
17.05.2013, 15:10  [ТС] 3
Цитата Сообщение от kalabuni Посмотреть сообщение
всякий атрибут/свойство можно заключить в квадратные скобки (и в кавычки)
пример:
HTML5
1
2
3
4
5
<!-- обычно пишут так -->
<body onload="document.body.style.background = 'red';"></body>
 
<!-- но можно и так -->
<body onload="document ['body'] ['style'] ['background'] = 'red';"></body>
мысль уловили?
О как, спасибо, так работает) Но остался вопрос - как заставить canvas перерисовать свое содержимое?
0
17.05.2013, 15:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2013, 15:10
Помогаю со студенческими работами здесь

LINQ to XML, обращение к элементу по атрибуту
Есть файл (примерно) xml такого типа: &lt;Lessons&gt; &lt;Class num=&quot;1 класс&quot;&gt; &lt;lesson...

Обращение по имени
Написать программу, которая запрашивает имя и выводит приветствие, используя данное имя. Заранее...

Обращение к объекту по имени
Такая ситуация: Есть много listbox'ов и в один прекрасный момент когда нажимается кнопка TButton на...

Обращение к классу по имени
Доброго времени суток. Подскажите, как обратится к классу если имеется его имя. В переменной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru