jQuery - динамически создавайте div и показывайте координаты - PullRequest
0 голосов
/ 07 марта 2011

Я создаю компонент контекстного меню, используя jQuery, который по существу создает div программно , а затем показывает его в координатах, указанных пользователем. Все установлено, за исключением того, что я просто не в состоянии расположить div в координатах. Это появляется в верхнем левом углу окна. Это то, что я пытаюсь

$(menu).css({ location: 'absolute', left: '300px', top: '250px' }).appendTo("body").show();

300px и 200px теперь жестко закодированы, но будут рассчитываться с использованием входных данных, предоставляемых клиентским кодом в реальности. Я даже пытался добавить его к элементу внутри тела, например:

$(menu).css({ 'location': 'absolute', 'left': '300px', 'top': '250px' }).appendTo($('div#cntnr')).show();

Но ничего не работает. Он отображается в верхнем левом углу браузера, а не в том, что указано. JQuery гуру, пожалуйста, помогите.

Ответы [ 2 ]

4 голосов
/ 07 марта 2011

Вы имеете в виду position:'absolute'?

Даже если вы создаете меню программно, я рекомендую вам просто присвоить меню имя класса и позволить себе (или клиенту) изменять атрибуты этогокласс CSSЭто явно чистая CSS-вещь, нет смысла вставлять эти значения в javascript, когда они могут быть аккуратно разделены на более подходящее место.Это также очистит JavaScript, так как ваш код будет определять поведение, а не поведение и стиль.

Чистая абстракция и легкая настройка.

2 голосов
/ 07 марта 2011

Это должно быть:

position: absolute

Вместо:

location: absolute

В зависимости от вашей точной структуры вам также может потребоваться установить для div # cntnr значение position: relative.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...