Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Передать значения переменных в CSS свойство!
 
 автор: oli   (05.08.2009 в 02:52)   письмо автору
 
 

Есть две переменные целочисленного типа X Y,как мне значение этих переменных по клику мышки присвоить элементу margin-top для <div id="block1">
А также изменить параметр display:none на display: other

  Ответить  
 
 автор: sim5   (05.08.2009 в 03:03)   письмо автору
 
   для: oli   (05.08.2009 в 02:52)
 

document.getElementById('"block1').style.display = "стиль";
document.getElementById('"block1').style.marginTop = значение;

  Ответить  
 
 автор: OLi   (05.08.2009 в 15:36)   письмо автору
 
   для: 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>

ВАШ КОД НЕ ПРИСВАИВАЕТ НУЖНЫЕ ЗНАЧЕНИЯ

  Ответить  
 
 автор: sim5   (05.08.2009 в 16:27)   письмо автору
 
   для: OLi   (05.08.2009 в 15:36)
 

Не мой а ваш. Вместо того, чтобы alert'ом координаты показать, вы лучше не прячьте второй DIV, а ему в innerHTML все ваши исходные данные впишите, то ли будет у вас, что вы ожидаете?

document.getElementById('block2').style.Top = rzY;
document.getElementById('block2').style.Left = rzX;

  Ответить  
 
 автор: OLi   (05.08.2009 в 16:36)   письмо автору
 
   для: sim5   (05.08.2009 в 16:27)
 

Мне второй блок надо спрятать до клика!
Что-то я не понял про innerHtml

  Ответить  
 
 автор: sim5   (05.08.2009 в 17:08)   письмо автору
 
   для: OLi   (05.08.2009 в 16:36)
 

Заметите вот эту строку:
alert ('X=' + rzX + '\nY=' + rzY);
на:
document.getElementById('block2').innerHTML = здесь пропишите для вывода все параметры которые вы получаете, формируете. И естественно сделайте видимим block2 на время проверки..

  Ответить  
 
 автор: OLi   (05.08.2009 в 17:22)   письмо автору
 
   для: sim5   (05.08.2009 в 17:08)
 

Т-е так

document.getElementById('block2').innerHTML="<style>#block2 {margin-top: rzX; margin-top:rzY;display: invine;}</style>";
Я с Js не работал никогда, поэтому извините,!

  Ответить  
 
 автор: sim5   (05.08.2009 в 18:15)   письмо автору
 
   для: 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?

  Ответить  
 
 автор: OLi   (05.08.2009 в 23:54)   письмо автору
 
   для: sim5   (05.08.2009 в 18:15)
 

Если задать для block2 margin-top, то, естественно, получаю!

  Ответить  
 
 автор: OLi   (06.08.2009 в 11:43)   письмо автору
 
   для: OLi   (05.08.2009 в 23:54)
 

ВОТ ТАК

  Ответить  
 
 автор: sim5   (06.08.2009 в 12:21)   письмо автору
 
   для: OLi   (06.08.2009 в 11:43)
 

Вам необходимо двигать ваш элемент? Двигайте на здоровье, но не отступом, а указывая координаты положения - ваш элемент имеет абсолютное позиционирование.

  Ответить  
 
 автор: OLi   (06.08.2009 в 13:09)   письмо автору
 
   для: sim5   (06.08.2009 в 12:21)
 

Мне двигать не надо, а один раз задать положение по координатам клика!
И сделать надо так, чтоб после клика картинка отобразилась на месте клика!

  Ответить  
 
 автор: sim5   (06.08.2009 в 19:46)   письмо автору
 
   для: OLi   (06.08.2009 в 13:09)
 

Делайте, но при чем тут margin?

  Ответить  
 
 автор: OLi   (07.08.2009 в 21:12)   письмо автору
 
   для: sim5   (06.08.2009 в 19:46)
 

Что-то я совершенно запутался!

  Ответить  
 
 автор: PAT   (07.08.2009 в 21:18)   письмо автору
 
   для: OLi   (07.08.2009 в 21:12)
 

Опустите описание "вычисления координат клика по картинке" - этот код я вам уже дал.

ЕСТЬ у вас два числа: первое - Х-координата клика, второе - Y-координата.
По-русски объясните - чего вам надо сделать с блоком и с этими числами.

  Ответить  
 
 автор: OLi   (30.06.2010 в 00:54)   письмо автору
 
   для: PAT   (07.08.2009 в 21:18)
 

Думаю стоит уточнить все моменты еще раз:
Отобразить ссылку в месте клика на изображении, средства реализации?
Задача такая: есть изображение, которое отображается на всю страницу сайта в админке, по клику на определнную область этого изображения, необходимо снять координаты клика и занести в базу...
2) На сайте то же изображение, необходимо из базы вытащить координаты и их отобразить их на изображении....Здесь проблема:
изображение можно уменшать и увеличивать, при этом предметы на изображении должны так же пропорционально смещаться при увеличении или уменьшении..Уажаемые программисты, кодеры мира, =) подскажите какими средствами это все реализовать, может кто-то сталквался. Выслушаю любые варианты.Спасибо

  Ответить  
 
 автор: OLi   (30.06.2010 в 12:05)   письмо автору
 
   для: OLi   (30.06.2010 в 00:54)
 

?

  Ответить  
 
 автор: The Electronic Cat   (30.06.2010 в 13:11)   письмо автору
 
   для: OLi   (30.06.2010 в 12:05)
 

Если под предметами вы имеете в виду создаваемый вами же ссылки, то храните их координаты не в абсолютных значениях, а в процентах. А при выводе вычисляйте точное смещение для текущих размеров картинки. В чем проблема?

  Ответить  
 
 автор: OLi   (30.06.2010 в 14:37)   письмо автору
 
   для: The Electronic Cat   (30.06.2010 в 13:11)
 

На словах алгоритм ясен, но на практике скорее возникнут множество вопросов...например как снять координаты в процентах?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования