Показать сообщение отдельно
  #1 (permalink)  
Старый 23.05.2011, 13:03
Интересующийся
Отправить личное сообщение для dimi007 Посмотреть профиль Найти все сообщения от dimi007
 
Регистрация: 10.05.2011
Сообщений: 11

Создание простенькой карты с возможностью скрытия(отображения) элементов
Привет всем. Появилась задачка небольшая, впринципе нашел решение..но хочется как то упростить код.
Задача: Создать карту с нанесенными на нее метками. Я создал примитивный макет (Серое поле - это типа карта, красные зеленые и синие дивы на этой карте - это типа метки). Также есть небольшая менюшка для скрытия\отображения меток. Тобишь при клике на ссылку "Красный" скрываются(отображаются) красные метки, при клике на ссылку "Зеленый" скрываются(отображаются) зеленые метки и т.д.

вот мой код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery-1.6.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){

$('a.one').click(
function(){
var elem = $('div.one');
if(elem.is(":hidden")){
elem.show();
}
else{
elem.hide();
}
});

$('a.two').click(
function(){
var elem = $('div.two');
if(elem.is(":hidden")){
elem.show();
}
else{
elem.hide();
}
});

$('a.three').click(
function(){
var elem = $('div.three');
if(elem.is(":hidden")){
elem.show();
}
else{
elem.hide();
}
});

});
</script>
<style type="text/css">
div.map {
width:200px;
height:200px;
position: relative;
background:#CCC;
}
div.map div {
width:10px;
height:10px;
position: absolute;
}
div.one {
background:#0F0;
}
div.two {
background:#F00;
}
div.three {
background: #00F;
}
</style>
</head>
<body>

<div class="map">
<div class="one" style="top:10px; left:10px;"></div>
<div class="one" style="top:30px; left:30px;"></div>
<div class="one" style="top:50px; left:10px;"></div>
<div class="two" style="top:10px; left:30px;"></div>
<div class="two" style="top:30px; left:10px;"></div>
<div class="two" style="top:50px; left:30px;"></div>
<div class="three" style="top:50px; left:50px;"></div>
</div>
<div class="menu">
<a class="one" href="#">Зеленый</a><br />
<a class="two" href="#">Красный</a><br />
<a class="three" href="#">Синий</a>
</div>
</body>
</html>

Код работает...НО! если обратить внимание на код JAVASCRIPT то любой уважающий себя программист скажет что это не совсем удобно...Сделать как то надо чтобы при нажатии на ссылку в <DIV CLASS="MENU"> функция javascript сама чтобы определила CLASS у этой ссылки, нашла DIV с таким же классом и скрыла его....

Вот как это сделать ребят?! я не могу сообразить...подскажите..мо ет кто сталкивался с подобной проблемой?!

Последний раз редактировалось dimi007, 23.05.2011 в 13:10.
Ответить с цитированием