password22
@password22

AJAX при нажатии на тег area (интерактивные карты html)?

Здравствуйте! Задумка такая: используя теги map и area сделать области картинки, по нажатию на которые будут выдаваться различные данные с помощью ajax (т. е. без перезагрузки страницы). Подскажите пожалуйста, как это сделать? Сам совсем не могу сообразить

<div class="map">
		<img src="img.png" class="map maphilighted" usemap="#simple">
	</div>

	<map name="simple">
		<area href="a.php" shape="poly" coords="78,14,75,29,71,37,96,28" >
		<area href="a.php" shape="poly" coords="73,38,50,51,50,68,43,86,54,97" >
	</map>

	<div id="data">Здесь выводимые данные ajax'ом</div>


a.php - предположительный файл с обработчиком, если он необходим
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
password22
@password22 Автор вопроса
Справился сам. Если кому пригодится:
html
<div class="map">
		<img src="img.png" class="map maphilighted" usemap="#simple">
	</div>

	<map name="simple">
		<area id="first" class="all" shape="poly" coords="78,14,75,29,71,3,20,96,28">
		<area id="second" class="all" shape="poly" coords="73,38,50,4,79,118,62,105,48,95,41">
	</map>

	<div class="data">
        </div>


js
$(document).ready(function(){
    $('.all').click(function() {
    	var name = ($(this).attr('id')); 
        $.ajax({
			url: 'a.php',
			method: 'post',
			dataType: 'html',
			data: {name:name},
				success: function(data){
					$('.data').html(data);
				}
		});
		return false;
    });
});


a.php
if($_POST['name'] == 'first') {
	echo 'Это первый';
} elseif($_POST['name'] == 'second') {
	echo 'Это второй';
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Больше похоже на задание.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы