Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
3 / 3 / 0
Регистрация: 07.04.2014
Сообщений: 82

Работа с SVG графикой

09.07.2014, 17:41. Показов 2226. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Для взаимодействия с SVG-изображением я внедрил в него скрипт
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    <defs>
        <script type="application/ecmascript"><![CDATA[
            function svgload_svg(evt)
            {
                var w = window, 
                w0 = null; 
                while (w && !w.svgload_html && w != w0)
                {
                    w0 = w;
                    w = w.parent;
                }
                if (w)
                    w.svgload_html(evt);
            } ]]>
        </script>
    </defs>
и добавил в заголовок

HTML5
1
onload="svgload_svg(evt);"
Далее в HTML файле я вставляю изображение с помощью embed. И взаимодействие происходит с помощью jQuery
JavaScript
1
2
3
4
5
6
7
8
        window.svgload_html = function(evt) {
            var svg = $(evt.target);
            svg.children("#level1").mousemove(function() {
                
                svg.children("#level1").attr("display", "none");
            });
            
        };
Вместо повторной выборки svg.children("#level1") хочется использовать this. Но это почему-то не работает. Почему не работает и как сделать, чтобы работало?

Почему не работает вот такая конструкция?

JavaScript
1
2
3
4
5
6
7
8
9
10
11
            for (var level = 1; level<9; level++){
            
                svg.children("#level"+level).hover(
                    function() {
                        svg.children("#level"+level).attr("opacity", "1");
                    },
                    function() {
                        svg.children("#level"+level).attr("opacity", "0");
                    }           
                );
            }
А задание её без цикла прекрасно работает.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
                svg.children("#level1").hover(
                    function() {
                        svg.children("#level1").attr("opacity", "1");
                    },
                    function() {
                        svg.children("#level1").attr("opacity", "0");
                    }           
                );
                svg.children("#level2").hover(
                    function() {
                        svg.children("#level2").attr("opacity", "1");
                    },
                    function() {
                        svg.children("#level2").attr("opacity", "0");
                    }           
                );
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.07.2014, 17:41
Ответы с готовыми решениями:

Работа с графикой
сколько читаю про js, пока ещё не встречал работу с графикой, видел только отображение изображений. у меня в скрипте есть числовая...

Работа с графикой на JavaScript
нужно нарисовать колаж с простейших геометрических фигур, таких как:шестикутная звезда, роммб, елипс. вставте по возможности код ...

Работа с SVG через jQuery
Здравствуйте! few month ago меня отправили из раздела HTML учить HTML&amp;CSS и z даже начал разбираться в JS или он всё таки EcmaScript вот...

1
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
11.07.2014, 23:44
Потому что замыкания надо знать...
http://learn.javascript.ru/closures
http://learn.javascript.ru/this

Цитата Сообщение от paveltkachev Посмотреть сообщение
while (w && !w.svgload_html && w != w0)
Ну window.top же.

Цитата Сообщение от paveltkachev Посмотреть сообщение
Вместо повторной выборки svg.children("#level1") хочется использовать this.
А надо $(this).
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.07.2014, 23:44
Помогаю со студенческими работами здесь

Работа с SVG графикой
Погуглив пришел к выводу, что существует несколько платных решений из магазина юнити. Но также существуют бесплатные. Курс доллара...

Работа с SVG C++
Всем Добрый день! Прошу помощи по следующему вопросу: Стоит задача получить из SVG файла координаты точек и типы фигур, из...

Работа с svg
Здравствуйте. Есть картинка в svg. Хочу ее вставить как иконкой. Вставить то я ее вставил. А вот как покрасить в нужный цвет и чтобы...

Работа с SVG
Возможно ли из нескольких svg файлов сделать один? Например, на файл А наложить файл Б (как с растровыми картинками, только с вектором)

Работа с Графикой
Здравствуйте. пишу прогу которая перемещает фигуры по экрану при помощи нажатия на стрелки. Движение реализуется при помощи след....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru