|
|
|
| Есть две переменные целочисленного типа X Y,как мне значение этих переменных по клику мышки присвоить элементу margin-top для <div id="block1">
А также изменить параметр display:none на display: other | |
|
|
|
|
|
|
|
для: oli
(05.08.2009 в 02:52)
| | document.getElementById('"block1').style.display = "стиль";
document.getElementById('"block1').style.marginTop = значение; | |
|
|
|
|
|
|
|
для: sim5
(05.08.2009 в 03:03)
| | Вот исходный код:
<script>
function myFunc (e)
{
var evt = e ? e : window.event, src = evt.target ? evt.target : evt.srcElement,
abX = evt.pageX ? evt.pageX : evt.clientX, abY = evt.pageY ? evt.pageY : evt.clientY,
abL = abT = 0; while (src.offsetParent) {abL += src.offsetLeft; abT += src.offsetTop; src = src.offsetParent}
var rzX = abX - abL - 1, rzY = abY - abT - 1; //искомые координаты клика выделены жирно
alert ('X=' + rzX + '\nY=' + rzY); //от разрешения экрана не зависят
document.getElementById('block2').style.display = "inline";
document.getElementById('block2').style.marginTop = rzY;
document.getElementById('block2').style.marginLeft = rzX;
}
</script>
<div id="block1" onclick="myFunc (event)"
style="position: relative; width: 400px; height: 400px; border: solid 1px green; background-image: url(test.jpg);">
<div id="block2" style="position: absolute; display:none;">
текст
</div>
</div>
|
ВАШ КОД НЕ ПРИСВАИВАЕТ НУЖНЫЕ ЗНАЧЕНИЯ | |
|
|
|
|
|
|
|
для: OLi
(05.08.2009 в 15:36)
| | Не мой а ваш. Вместо того, чтобы alert'ом координаты показать, вы лучше не прячьте второй DIV, а ему в innerHTML все ваши исходные данные впишите, то ли будет у вас, что вы ожидаете?
document.getElementById('block2').style.Top = rzY;
document.getElementById('block2').style.Left = rzX; | |
|
|
|
|
|
|
|
для: sim5
(05.08.2009 в 16:27)
| | Мне второй блок надо спрятать до клика!
Что-то я не понял про innerHtml | |
|
|
|
|
|
|
|
для: OLi
(05.08.2009 в 16:36)
| | Заметите вот эту строку:
alert ('X=' + rzX + '\nY=' + rzY);
на:
document.getElementById('block2').innerHTML = здесь пропишите для вывода все параметры которые вы получаете, формируете. И естественно сделайте видимим block2 на время проверки.. | |
|
|
|
|
|
|
|
для: sim5
(05.08.2009 в 17:08)
| | Т-е так
document.getElementById('block2').innerHTML="<style>#block2 {margin-top: rzX; margin-top:rzY;display: invine;}</style>";
Я с Js не работал никогда, поэтому извините,! | |
|
|
|
|
|
|
|
для: OLi
(05.08.2009 в 17:22)
| | Вы запустите сперва вот это, без всяких ваших функций:
<table>
<tr>
<td colspan="2">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</td>
</tr>
<tr>
<td>BBBBBBBBBBBB</td>
<td><div style="position: relative; width: 400px; height: 400px; border: solid 1px green;">
<div id="block2" style="solid 1px #cd5c5c; position: absolute;" onclick="alert(this.style.marginTop)">
DIV id block2
</div>
</div></td>
</tr>
</table>
|
Вы получите marginTop элемента block2? | |
|
|
|
|
|
|
|
для: sim5
(05.08.2009 в 18:15)
| | Если задать для block2 margin-top, то, естественно, получаю! | |
|
|
|
|
|
|
|
для: OLi
(05.08.2009 в 23:54)
| | ВОТ ТАК | |
|
|
|
|
|
|
|
для: OLi
(06.08.2009 в 11:43)
| | Вам необходимо двигать ваш элемент? Двигайте на здоровье, но не отступом, а указывая координаты положения - ваш элемент имеет абсолютное позиционирование. | |
|
|
|
|
|
|
|
для: sim5
(06.08.2009 в 12:21)
| | Мне двигать не надо, а один раз задать положение по координатам клика!
И сделать надо так, чтоб после клика картинка отобразилась на месте клика! | |
|
|
|
|
|
|
|
для: OLi
(06.08.2009 в 13:09)
| | Делайте, но при чем тут margin? | |
|
|
|
|
|
|
|
для: sim5
(06.08.2009 в 19:46)
| | Что-то я совершенно запутался! | |
|
|
|
|
|
|
|
для: OLi
(07.08.2009 в 21:12)
| | Опустите описание "вычисления координат клика по картинке" - этот код я вам уже дал.
ЕСТЬ у вас два числа: первое - Х-координата клика, второе - Y-координата.
По-русски объясните - чего вам надо сделать с блоком и с этими числами. | |
|
|
|
|
|
|
|
для: PAT
(07.08.2009 в 21:18)
| | Думаю стоит уточнить все моменты еще раз:
Отобразить ссылку в месте клика на изображении, средства реализации?
Задача такая: есть изображение, которое отображается на всю страницу сайта в админке, по клику на определнную область этого изображения, необходимо снять координаты клика и занести в базу...
2) На сайте то же изображение, необходимо из базы вытащить координаты и их отобразить их на изображении....Здесь проблема:
изображение можно уменшать и увеличивать, при этом предметы на изображении должны так же пропорционально смещаться при увеличении или уменьшении..Уажаемые программисты, кодеры мира, =) подскажите какими средствами это все реализовать, может кто-то сталквался. Выслушаю любые варианты.Спасибо | |
|
|
|
|
|
|
|
для: OLi
(30.06.2010 в 00:54)
| | ? | |
|
|
|
|
|
|
|
для: OLi
(30.06.2010 в 12:05)
| | Если под предметами вы имеете в виду создаваемый вами же ссылки, то храните их координаты не в абсолютных значениях, а в процентах. А при выводе вычисляйте точное смещение для текущих размеров картинки. В чем проблема? | |
|
|
|
|
|
|
|
для: The Electronic Cat
(30.06.2010 в 13:11)
| | На словах алгоритм ясен, но на практике скорее возникнут множество вопросов...например как снять координаты в процентах? | |
|
|
|