Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.11.2014, 12:32
Интересующийся
Отправить личное сообщение для Ваня98 Посмотреть профиль Найти все сообщения от Ваня98
 
Регистрация: 01.11.2014
Сообщений: 19

размещение ссылок на окружности с заданным радиусом
Добрый день, форумчане!
Помогите пожалуйста разрешить следующую ситуацию.
Необходимо разместить ссылки на окружности с заданным радиусом, в частном случае, он равен 112.5.
Попытался сделать с помощью подгонки параметров угла поворота и перемещения по осям для каждой ссылки (пример:
-webkit-transform: translate(30px, 0px) rotate(45deg);
), в итоги получилось что-то похожее на правду. Но необходимого радиуса так и не добился. Подскажите пожалуйста, каким образом можно добиться точности построения окружности ссылок с необходимым радиусом.
Пробывал так же без использования transform с помощью добавления пробелов в название ссылки, радиус получается тот что нужен, но тогда что при нажатии одной счсылки выделяется другая и переход происходит именно по ней.
Вариант с использованием -webkit-transform:
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		<title>Текст по окружности</title>
		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
		<script type="text/javascript" src="jquery.lettering.js"></script>
		<script type="text/javascript" src="eliptext.js"></script>

		<script type="text/javascript">
			$(document).ready(function () {
			$('#curved2').elipText({radius: 112.5, dir:1});
			$('#curved').elipText({radius: 112.5, dir:1});
			$('#curved3').elipText({radius: 112.5, dir:1});
			$('#curved4').elipText({radius: 112.5, dir:1});
			});
		</script>		

		<style style="text/css">
* 
					{
					padding: 0;
					margin: 0;
					}
.content
					{
					margin:auto;
					/*text-align:center;*/
					padding: 3px;
					}
span
					{
					font: 16px/1.4 georgia, arial;
					letter-spacing: 0;
					}

				
				
#curved 
				{
				position: absolute;		
				left: 60%;
				top:50%;
				/*z-index: 9;*/
				
			  /* -webkit-transform-origin: -100% 0;*/
                
                -webkit-transform: translate(-112.5px, 0px) rotate(-45deg);
				}
				
				
#curved2 
				{
				position: absolute;
				left: 60%;
				top:50%;
		/*	    z-index: 10;*/
				
		 
           -webkit-transform: translate(30px, 0px) rotate(45deg);  
          

				}
				
#curved3 
				{
				position: absolute;
				 left: 60%;
				top:50%;
				/*z-index: 20;*/
				-webkit-transform: translate(30px, 150px) rotate(140deg);
				}	
				
#curved4 
				{
				position: absolute;
				 left: 60%;
				top:50%;
			/*	z-index: 3;*/
				-webkit-transform: translate(-112.5px, 150px) rotate(220deg);
				}								
		</style>
			
</head>
	 
<body>
	<div class="content">                 
		<a href="http://javascript.ru"><span id="curved2">javascript.ru</span> </a>
       <a href="http://htmlbook.ru"><span id="curved">htmlbook.ru</span> </a>
        <a href="http://site-made.ru"><span id="curved3">site-made.ru</span> </a>
        <a href="http://technologyweb.org"><span id="curved4">technologyweb.org</span> </a>
   </div>
   	
</body>
</html>


Второй вариант с использованием пробелов:
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		<title>Текст по окружности</title>
		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
		<script type="text/javascript" src="jquery.lettering.js"></script>
		<script type="text/javascript" src="eliptext.js"></script>

		<script type="text/javascript">
			$(document).ready(function () {
			$('#curved2').elipText({radius: 112.5, dir:1});
			$('#curved').elipText({radius: 112.5, dir:1});
			$('#curved3').elipText({radius: 112.5, dir:1});
			$('#curved4').elipText({radius: 112.5, dir:1});
			});
		</script>		

		<style style="text/css">
* 
					{
					padding: 0;
					margin: 0;
					}
.content
					{
					margin:auto;
					/*text-align:center;*/
					padding: 3px;
					}
span
					{
					font: 16px/1.4 georgia, arial;
					letter-spacing: 0;
					}

#curved2 
				{
				position: absolute;
				left: 60%;
				top:50%;
			    z-index: 10;
				}
				
				
#curved 
				{
				position: absolute;		
				left: 60%;
				top:50%;
				z-index: 9;
				}
				
#curved3 
				{
				position: absolute;
				 left: 60%;
				top:50%;
				z-index: 20;
				}	
				
#curved4 
				{
				position: absolute;
				 left: 60%;
				top:50%;
				z-index: 3;
				}								
		</style>
			
</head>
	 
<body>
	<div class="content">                 
		<a href="http://javascript.ru"><span id="curved2">javascript.ru</span> </a>
        <a href="http://htmlbook.ru"><span id="curved">                                                                                                                                       htmlbook.ru</span> </a>
        <a href="http://site-made.ru"><span id="curved3">                                                                                                                                                                                                                                  site-made.ru</span> </a>
        <a href="http://technologyweb.org"><span id="curved4">                                                                  technologyweb.org</span> </a>
            	</div>
   	
</body>
</html>
Изображения:
Тип файла: jpg вариант1.jpg (3.7 Кб, 5 просмотров)
Тип файла: jpg вариант2.jpg (3.3 Кб, 7 просмотров)
Вложения:
Тип файла: zip вариант1.zip (2.8 Кб, 1 просмотров)
Тип файла: zip вариант2.zip (2.7 Кб, 2 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 01.11.2014, 13:07
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

Самый простой способ это SVG
Ответить с цитированием
  #3 (permalink)  
Старый 01.11.2014, 13:46
Интересующийся
Отправить личное сообщение для Ваня98 Посмотреть профиль Найти все сообщения от Ваня98
 
Регистрация: 01.11.2014
Сообщений: 19

Спасибо, попробую.
Ответить с цитированием
  #4 (permalink)  
Старый 01.11.2014, 15:45
Интересующийся
Отправить личное сообщение для Ваня98 Посмотреть профиль Найти все сообщения от Ваня98
 
Регистрация: 01.11.2014
Сообщений: 19

Сообщение от MallSerg Посмотреть сообщение
Самый простой способ это SVG
Подсажите пожалуйста как заменить текст на окружности на какую-либо внешнюю ссылку. Никак не получается.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg" version="1.1"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="400" height="450">
<title>Текст вдоль траектории</title>
<desc>
Чтобы линии были не видны, элементы path
следует заключить в контейнер defs
</desc>
<defs>
<path id="mypath2" d="M50,150 A50,50 0 1,1 50,150.01"
stroke="grey" fill="none"/>
</defs>
<text font-size="20" font-family="arial" fill="red">
<textPath xlink:href="#mypath2" startOffset="0%">
Нехорошо подделывать печати
</textPath>
</text>
</svg>
Ответить с цитированием
  #5 (permalink)  
Старый 01.11.2014, 19:07
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

В SVG тоже есть ссылки в чем именно сложность?
Ответить с цитированием
  #6 (permalink)  
Старый 02.11.2014, 08:25
Интересующийся
Отправить личное сообщение для Ваня98 Посмотреть профиль Найти все сообщения от Ваня98
 
Регистрация: 01.11.2014
Сообщений: 19

Большое спасибо MallSerg, всё получилось
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg" version="1.1"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="400" height="450">
<title>Текст вдоль траектории</title>
<desc>
Чтобы линии были не видны, элементы path
следует заключить в контейнер defs
</desc>
<defs>
<path id="mypath2" d="M50,150 A112.5,112.5 0 1,1 50,150.01"
stroke="grey" fill="none"/>
</defs>

<a xlink:href="http://www.rambler.ru">
<text font-size="20" font-family="arial" fill="red">
<textPath xlink:href="#mypath2" startOffset="15%">
Рамблер
</textPath>
</text>
</a>

<a xlink:href="http://www.yandex.ru">
<text font-size="20" font-family="arial" fill="red">
<textPath xlink:href="#mypath2" startOffset="0%">
Яндекс
</textPath>
</text>
</a>
</svg>
Ответить с цитированием
  #7 (permalink)  
Старый 02.11.2014, 09:00
Интересующийся
Отправить личное сообщение для Ваня98 Посмотреть профиль Найти все сообщения от Ваня98
 
Регистрация: 01.11.2014
Сообщений: 19

Возник другой вопрос. А как теперь данный код вставить в html документ, чтобы он при этом был работоспособным?
Ответить с цитированием
  #8 (permalink)  
Старый 02.11.2014, 10:58
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

https://www.google.com/search?q=html+вставка+svg
Ответить с цитированием
  #9 (permalink)  
Старый 02.11.2014, 12:33
Интересующийся
Отправить личное сообщение для Ваня98 Посмотреть профиль Найти все сообщения от Ваня98
 
Регистрация: 01.11.2014
Сообщений: 19

Вставил при помощи <object>, но получилось что при нажатии на ссылки сайты открываются именно в этом окошке размером 400х450, а не на всю страницу как хочется. Подскажите, как можно реализовать открытие сайта на всю страницу при нажатии на ссылку ?

<object type="image/svg+xml" data="link.svg" width="400" height="450">
</object>


[IMG]c:\Users\Хозяин\Desktop\1.png[/IMG]
[IMG]c:\Users\Хозяин\Desktop\2.png[/IMG]
Вложения:
Тип файла: zip открытие ссылок.zip (173.2 Кб, 0 просмотров)
Ответить с цитированием
  #10 (permalink)  
Старый 02.11.2014, 12:39
Интересующийся
Отправить личное сообщение для Ваня98 Посмотреть профиль Найти все сообщения от Ваня98
 
Регистрация: 01.11.2014
Сообщений: 19

Скриншоты для наглядности поместил во вложениях.
Изображения:
Тип файла: jpg 1.jpg (17.1 Кб, 2 просмотров)
Тип файла: jpg 2.jpg (20.3 Кб, 5 просмотров)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Размещение ссылок на окружности Сергей545 Элементы интерфейса 4 02.02.2014 10:48
Размещение ссылок в соц.сетях ofer Общие вопросы Javascript 6 14.02.2013 15:59