объекты с абсолютным расположением, добавленные с помощью jQuery, позиционируются неправильно!
-
10-07-2019 - |
Вопрос
Я динамически добавляю некоторые li
s в неупорядоченный список с помощью jQuery.Они расположены абсолютно (с использованием style
параметр для каждого li
), но когда они добавляются на страницу, они находятся не в нужных позициях, хотя, когда я проверяю их с помощью Firebug или Chrome element inspector, все значения верны.
Также обратите внимание, что li
s используют классы jQuery с возможностью перетаскивания и изменения размера.
вы можете увидеть это здесь: http://bit.ly/5HfegZ
Это скрипт, который добавляет li
s на страницу (из xml-файла)
//load saved board
var savedBoard = getParameterByName("open");
if (savedBoard != ""){
$.ajax({
type: "GET",
url: "saved/" + savedBoard + ".xml",
dataType: "xml",
success: function(xml) {
$(xml).find('item').each(function() {
var openTag = $(this).find('openTag').text();
openTag = openTag.replace(/%3C/g, "<");
openTag = openTag.replace(/%2F/g, "/");
openTag = openTag.replace(/%3E/g, ">");
var media = $(this).find('media').text();
media = media.replace(/%3C/g, "<");
media = media.replace(/%2F/g, "/");
media = media.replace(/%3E/g, ">");
$('#other').append(openTag + "<div class='inners'>" + media + "</div><div class='boxMenu'><img class='star' src='img/gold_star.gif' alt='Favorite' /><img class='delete' src='img/minus.gif' alt='Delete'/><p></p></div></li>");
$("li", "#other").draggable();
$("li", "#other").resizable({ transparent: true, handles: 'all' });
menustuff();
checkColour();
});
}
});
}
HTML:
<ul id="other" class="ui-widget-header">
XML - ФАЙЛ:
<item n="0">
<openTag>%3Cli runat='server' title='0' class='ui-widget-content' style='z-index:16;width:250px;height:150px;top:187 px;left:135px;'%3E</openTag>
<media>%3Cimg class="imaged" src="http:%2F%2Fimages.websnapr.com%2F?size=s&key=bOJhv6ljQ0aq&url=http:%2F%2Fwww.cancerpartnersuk.org" alt=""></media>
Решение
хорошо, я обнаружил, что он не отображался корректно, потому что класс jQuery ui.resizable был position: relative;
я просто установил это на position: absolute;
и все снова было хорошо.