Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > jquery: Добавление обьекта


Автор: MrDmitry 22.9.2013, 12:12
Всем привет. Столкнулся со следующей проблемой.

Мне нужно динамически добавлять div'ы, с указанием его место положения на странице(left, top) 

Накидал следующий скрипт

html:
Код

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
    <script type="text/javascript" src="JavaScript/jquery-1.9.1.js"></script>
    <script type="text/javascript" src="JavaScript/work.js"></script>
    <style>
      #work {width:100%; height:1000px;}
    </style>
    <body>       
   <div id="work"></div>
    </body>   
</html>

JS
Код

   $(document).ready(function() {
  var click=0;      
     $("#work").click(function (e) {
     click=click+1;        
      ae=e||window.event;
       mX0 = e.clientX;
       mY0 = e.clientY-34;
       id = "test"+click;
         style ="#"+id+"{border:1px solid #000000; heigth:100px; width:100px; left:"+mX0+"px; top: "+mY0+"px; position:relative}"; 
         $('head').append('<style>'+style+'</style>');
         $('#work').append('<div id="'+id+'" class="class">text</div>');     
        });   
   });



Таким способом элементы создаются в нужной области но при повторном клике, вновь созданный элемент как бы отталкивается от предыдущего на расстояние равное высоте предыдущего элемента.

PS в принципе почему так понятно, метод append создает новый элемент уже после имеющегося, но как тогда мне быть?

Автор: MrDmitry 22.9.2013, 13:34
Спасибо, решено )

Автор: Evghenusi 22.9.2013, 13:53
Пожалуйста. (если я правильно понял http://jsfiddle.net/haBmY/2/)


Цитата(MrDmitry @  22.9.2013,  12:12 Найти цитируемый пост)
heigth:100px;

очепятка

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)