Как сделать, чтоб появлялись рамки меток на фотографии?
Взял отсюда программу Summer-master: https://github.com/summerstyle/summer, расставил метки на фотографии, все работает, если навести курсор на объект на фото, появляется надпись, указанная в Title. Но как сделать, чтобы появлялась еще и рамка (обводка) объекта? И если навести курсор на ссылку на странице, то тоже появлялась обводка на том объекте? Так, как это сделано с метками на фото в Фейсбуке, например?
Перерыл кучу страниц в Интернете, но чтоб появлялась рамка при наведении курсора на изображение и при наведении на ссылку не нашел. |
Цитата:
<style type='text/css'>
img:hover,
a:hover {
border: 2px solid green;
}
</style>
<img src='http://javascript.ru/forum/images/smilies/wink.gif' />
<a href='#'>Test</a>
|
Нет, я имею в виду рамку не на целое изображение, а на метки на фотографии, сделанные как на карте.
Как я понял, это делается с помощью jquery.maphilight.js, но примеров для моего случая не нашел |
Цитата:
http://htmlbook.ru/html/area |
Да, но там только общая информация. Объясню задачу попроще. Скажем, сидят на фото Вася и Коля. Если направить курсор на лицо Васи, вокруг его лица появляется рамка и надпись "Вася". Если направить курсор на лицо Коли, уже вокруг его лица появляется рамка и надпись "Коля".
Под фото есть подпись: "Вася и Коля на рыбалке". Если направить курсор на слово "Вася", то опять появляется рамка вокруг его лица, ну, понятно, да? Так же сделаны метки на фото в Фейсбуке |
|
|
Цитата:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.img {
display: inline-block;
position: relative;
border: 1px solid green;
}
.info {
position: absolute;
top: 4px;
left: 4px;
right: 4px;
color: #000000;
cursor: pointer;
border: none;
}
.info > p {
visibility: hidden;
}
.info:hover {
border: 1px solid red;
visibility: visible;
}
.info:hover > p {
visibility: visible;
}
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<div class='img'>
<img src='http://javascript.ru/forum/image.php?u=7416&dateline=1372796129' />
<div class='info'>
<p>Это <b>рони</b></p>
</div>
</div>
<div class='img'>
<img src='http://javascript.ru/forum/image.php?u=8616&dateline=1282216923' />
<div class='info'>
<p>Это <b>ksa</b></p>
</div>
</div>
</body>
</html>
|
Тут похожее решение.
Вот мануал http://davidlynch.org/projects/maphilight/docs/ и демо http://davidlynch.org/projects/maphi...mo_simple.html Но когда я подставляю свое изображение и свои значения координат карты, у меня почему-то не работает, не могу понять, почему. |
Alexandro,
где код? |
Нашел другой плагин jQuery.photoLabel: https://readyscript.ru/photolabel/
Но и тут проблема. Введенные отметки должны передаваться в файл tags.php и сохраняться в базу данных. В самом файле так и написано:
<?php
/**
* Простой контроллер для серверной части отметок
*/
class Controller
{
function addTag()
{
/*
Получаем из POST переменные. Здесь мы должны организовать сохранение значений в базу.
creator_id // id пользователя, который создал отметку (равен viewerId - в JavaScript)
left // смещение отмеченной области по горизонтали относительно левого края изображения
top // смещение отмеченной области по вертикали относительно верхнего края изображения
height // высота отмеченной области
width // ширина отмеченной области
img_id // id изображения
img_height // высота изображения
img_width // ширина изображения
item_id // id отмеченного пользователя
item_title // подпись отмеченной области
item_url // ссылка отмеченной области
leftTopX // координата X левого верхнего угла в процентах от ширины изображения
leftTopY // координата Y левого верхнего угла в процентах от высоты изображения
rightBottomX // координата X правого нижнего угла в процентах от ширины изображения
rightBottomY // координата Y правого нижнего угла в процентах от высоты изображения
*/
return json_encode(array(
'success' => true,
'tag_id' => rand(0, 9999999) //Возвращаем id отметки
));
}
function removeTag()
{
/**
* Получаем из POST пееменную.
*
* tag_id - id тега, который нужно удалить
*/
return json_encode(array(
'success' => true
));
}
function recoverTag()
{
/**
* Получаем из POST пееменную.
*
* tag_id - id тега, который нужно восстановить
*/
return json_encode(array(
'success' => true
));
}
function _bind()
{
$act = $_GET['Act'];
if ($act{0} != '_' && is_callable(array($this, $act))) {
return $this->$act();
}
die('Not found');
}
}
$photoLabelController = new Controller();
echo $photoLabelController->_bind();
?>
Как тут "организовать сохранение значений в базу"? Можно конечно и самому "врукопашную" прописать координаты меток, но тут они в виде процентов: Цитата:
|
| Часовой пояс GMT +3, время: 20:39. |