- 0
Построение интерактивной карты с Raphaël (нужна помощь)
- 
Similar Content- 
			
			By Alex_st22
 Здравствуйте, пытаюсь сделать небольшой редактор. Сначала нажимается кнопка на html-странице, потом заполняется форма с параметрами графоэлемента (иконы), эти параметры считывает скрипт, передаёт их в другую функцию. Та формирует код HTML с тегом svg и вставляет в блок draw. В этом деле вообще начинающий, ещё в голове путаница с расположением элементов, паддингами и т.п. А проблема, что после исполнения скрипта ничего не происходит, иногда на секунду мелькает что-то похожее, но в целом результата нет.
 
 Код
 HTML:
 <!DOCTYPE html>
 <html lang="ru">
 <head>
 <meta charset="utf-8">
 <title>Иконы</title>
 <link rel="stylesheet" href="style.css">
 </head>
 <body>
 <div class="open-button">
 <button onclick="openForm()">Открыть форму</button>
 </div>
 <div class="form-popup" id="IconForm">
 <form class="form-container">
 <h1>Параметры иконы</h1>
 <label for="bordercolor"><b>Цвет границы</b></label>
 <select id='select_bc' size='1'>
 <option value='#000'>Чёрный</option>
 <option value='#00f'>Синий</option>
 <option value='#f00'>Красный</option>
 <option value='#0f0'>Зелёный</option>
 </select>
 <p></p>
 <label for="background"><b>Цвет фигуры</b></label>
 <select id='select_bg' size='1'>
 <option value='#fff'>Белый</option>
 <option value='#bbf'>Синий</option>
 <option value='#fbb'>Красный</option>
 <option value='#bfb'>Зелёный</option>
 </select>
 <p></p>
 <label for="fontcolor"><b>Цвет текста</b></label>
 <select id='select_fc' size='1'>
 <option value='#000'>Чёрный</option>
 <option value='#00f'>Синий</option>
 <option value='#f00'>Красный</option>
 <option value='#0f0'>Зелёный</option>
 </select>
 <p></p>
 <label for="text"><b>Содержание фигуры</b></label>
 <textarea id="text_in" cols="20" rows="3"></textarea>
 <button type="submit" class="btn" onclick="return acceptArgs()">Принять</button>
 <button type="submit" class="btn cancel" onclick="return closeForm()">Закрыть</button>
 </form>
 </div>
 <div id="Draw"></div>
 
 <script type="text/javascript" src="script.js"></script>
 </body>
 </html>
 CSS:
 {box-sizing: border-box;}
 /* Кнопка, используемая для открытия формы */
 .open-button {
 background-color: #555;
 color: white;
 padding: 16px 20px;
 border: none;
 cursor: pointer;
 opacity: 0.8;
 position: fixed;
 width: 280px;
 }
 /* Всплывающая форма-скрыта по умолчанию */
 .form-popup {
 display: none;
 position: fixed;
 border: 3px solid #f1f1f1;
 z-index: 9;
 }
 /* Добавить стили для контейнера формы */
 .form-container {
 max-width: 300px;
 padding: 10px;
 background-color: white;
 }
 /* Поля ввода полной ширины */
 .form-container input[type=text], .form-container input[type=password] {
 width: 100%;
 padding: 15px;
 margin: 5px 0 22px 0;
 border: none;
 background: #f1f1f1;
 }
 /* Когда входы получают фокус, сделайте что-нибудь */
 .form-container input[type=text]:focus, .form-container input[type=password]:focus {
 background-color: #ddd;
 outline: none;
 }
 /* Стиль для кнопок */
 .form-container .btn {
 background-color: green;
 color: white;
 padding: 16px 20px;
 border: none;
 cursor: pointer;
 width: 100%;
 margin-bottom:10px;
 opacity: 0.85;
 }
 /* Красный цвет фона для кнопки "Отмена" */
 .form-container .cancel {
 background-color: red;
 }
 /* Добавить некоторые эффекты наведения на кнопки */
 .form-container .btn:hover, .open-button:hover {
 opacity: 1;
 }
 
 JS:
 function openForm() {
 document.getElementById("IconForm").style.display = "block";
 }
 function closeForm() {
 document.getElementById("IconForm").style.display = "none";
 return false;
 }
 function drawIcon(bc, bg, fc, text) {
 var svg = '<svg> <rect rx="32.8" ry="18.3" x="500" y="500" height="55" width="99" ';
 svg += 'fill="'+ bg + '" stroke="'+ bc +'" stroke-width="2px" />';
 svg += '<text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" fill='+fc+";'>";
 svg += text + "</text></svg>";
 alert(svg);
 document.getElementById('Dragon').innerHTML += svg;
 return true;
 }
 function acceptArgs() {
 var bc = document.getElementById("select_bc");
 bc = bc.options[bc.selectedIndex].value;
 var bg = document.getElementById("select_bg");
 bg = bg.options[bg.selectedIndex].value;
 var fc = document.getElementById("select_fc");
 fc = fc.options[fc.selectedIndex].value;
 var text = document.getElementById("text_in").value;
 closeForm();
 drawIcon(bc, bg, fc, text);
 
 }
 
- 
			
			By Kelmint
 Здравствуйте все, у меня возникла проблема при верстке Changelog на сайте, проблема в том что при выборе пункта ченжлог должно появлятся окно с выбором версий, и если выбираешь описание то это окно с версиями должно исчезать, файлы прикрепил, помогите пожалуйста, как это можно реализовать, заранее благодарю за ответы
 
 htdocs.rar
 
- 
			
			By yaparoff
 делаю звездный рейтинг на svg на чистом css
 проблема в том что checked, svg почему то не закрашивается в нужный цвет
 Как решить эту проблему?
 https://codepen.io/anon/pen/zVNVRV?editors=1010
 
- 
			
			By yaparoff
 у svg должно быть три состояния обычное, при наведении, при нажатии
 думаю как это сделать
 Vне бы хотелось его вставить в html разметку, а не просто с помощью bsckground-position. Т.к. я хочу анимации при наведении (transition).
 И я могу менять цвет обводки с помощью css-свойства fill.
 Но есть еще одно состояние когда картинка полностью закрашена. Как сделать чтобы то же свг закрашивалось полностью (например при добавлении класса)?
 У меня не получается просто добавить css свойство для этого
 Какие есть еще идеи?
 https://jsfiddle.net/ypqz5Lh6/
 
- 
			
			By ioprst
 Привет. Подскажите как правильно объявить svg объект, чтобы он занял все свободного пространство экрана и при этом не "вылезал" вниз. Например у меня есть svg (большой код, т.к. в ней просто 17 одинаковых элементов, которые расположены по главной горизонтали):
 <svg xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="full" height="1088px" style="background:#FFFFFF" version="1.1" width="1088px"> <defs> <style type="text/css"> .default_default { fill: #E4801B; stroke: #000000; stroke-width: 1.0px; } </style> </defs> <g id="root" transform="translate(0,0)"> <g id="Auto" class="default_default" transform=" translate(0,0) rotate(0,32,32)"> <g id="layer0"> <rect y="24" x="0" height="16" width="64" id="c0trumpet"/> <rect y="26" x="3" height="12" width="2" id="c0flow0" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="11" height="12" width="2" id="c0flow1" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="19" height="12" width="2" id="c0flow2" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="27" height="12" width="2" id="c0flow3" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="35" height="12" width="2" id="c0flow4" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="43" height="12" width="2" id="c0flow5" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="51" height="12" width="2" id="c0flow6" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="59" height="12" width="2" id="c0flow7" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> </g> </g> <g id="Auto" class="default_default" transform=" translate(576,576) rotate(0,32,32)"> <g id="layer0"> <rect y="24" x="0" height="16" width="64" id="c1trumpet"/> <rect y="26" x="3" height="12" width="2" id="c1flow0" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="11" height="12" width="2" id="c1flow1" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="19" height="12" width="2" id="c1flow2" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="27" height="12" width="2" id="c1flow3" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="35" height="12" width="2" id="c1flow4" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="43" height="12" width="2" id="c1flow5" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="51" height="12" width="2" id="c1flow6" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="59" height="12" width="2" id="c1flow7" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> </g> </g> <!-- тут еще 14 групп с id="Auto"--> <g id="Auto" class="default_default" transform=" translate(960,960) rotate(0,32,32)"> <g id="layer0"> <rect y="24" x="0" height="16" width="64" id="c15trumpet"/> <rect y="26" x="3" height="12" width="2" id="c15flow0" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="11" height="12" width="2" id="c15flow1" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="19" height="12" width="2" id="c15flow2" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="27" height="12" width="2" id="c15flow3" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="35" height="12" width="2" id="c15flow4" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="43" height="12" width="2" id="c15flow5" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="51" height="12" width="2" id="c15flow6" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> <rect y="26" x="59" height="12" width="2" id="c15flow7" style="opacity:0.25;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.02602547;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/> </g> </g> </g> </svg> Auto.html выглядит следующим образом:
 <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>test</title> </head> <body> <div class="menu"> <a href="Auto.html">Untitled</a> <div> <object id="AutoId" type="image/svg+xml" data="Auto.svg"></object> </div> <script type="text/javascript" src="Auto.js"></script> </div> </body> </html> Таким образом я получаю страницу, которая представлена на рисунке 1.
 
 Как видно, не вся svg поместилась на страницу. А хотелось бы получить результат как на второй картинке, т.е. уместить всю svg в область под <a>Untitled</a> так, чтобы вниз страница не прокручивалась.
 
 
 
- 
			
			
 
         
	 
	 
	 
	
Question
Женик
Здравствуйте! Нужна маленькая помощь... может и не маленькая... Как-то на сайте рассматривалась тема "Построение интерактивной карты с Raphaël", http://htmlbook.ru/blog/postroenie-interaktivnoi-karty-s-raphael очень заинтересовал один вопрос... А возможно ли в init.js там где атрибут fill выставить для каждого объекта (страны) изображение, скажем флаг страны? ( я там уже отметился с вопросом, может тут быстрее поможете, очень интересует такая возможность) Помогите, пожалуйста, дайте дельный совет! Заранее благодарен!
 Помогите, пожалуйста, дайте дельный совет! Заранее благодарен! 
Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.