Элементы добавленные в onload - пропадают
Здравствуйте!
Есть такой код. В событии onload динамически добавляется iframe, а в него img. В Internet Explorer - работает и показывает. В FireFox и Chrome изображение сначала рисуется, затем мгновенно исчезает, будто срабатывает еще одно событие которое перерендеривает DOM. Если же вызвать не напрямую, а через setTimeout - то работает и в Firefox и Chrome. Не знает ли кто, что происходит? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head> <body onload='LoadImgs();'> </body> <script type="text/javascript"> CreateIframe = function (frameName, frWidth, frHeight, zindex) { var frameObj = document.createElement('iframe'); frameObj.width = frWidth; frameObj.src = 'Content.htm'; frameObj.height = frHeight; frameObj.id = frameName; frameObj.name = frameName; frameObj.frameBorder = 0; frameObj.allowTransparency = 'allowtransparency'; //frameObj.allowtransparency = 'true'; frameObj.style.zIndex = zindex; frameObj.style.position = 'absolute'; frameObj.style.scrolling = 'no'; frameObj.style.left = 0; frameObj.style.top = 0; AppendChild(window, frameObj); return frames[frames.length - 1]; } AppendChild = function (ob, child) { if (ob.document.body == null) ob.document.appendChild(child); else ob.document.body.appendChild(child); } PX = function (ob) { return parseInt(ob) + 'px'; } function LoadImgs() { var MapFrame = CreateIframe('idMapFrame', 200, 200, 1); //setTimeout(function () { Tmp(MapFrame); // },1000); } function Tmp(MapFrame) { var img = MapFrame.document.createElement('img'); img.src = 'imgs/util/redcrest.png'; img.style.position = 'absolute'; img.style.left = PX(90); img.style.top = PX(90); AppendChild(MapFrame, img); } </script> </html> |
Цитата:
|
Цитата:
Только хотелось бы понять в чём дело и что за событие иха удаляет из DOM`а |
Добрый день!
Уточню в данной теме, дабы не создавать новые сущности. Пишу внешнюю валидацию на js, собственно при загрузке документа необходимо поля, в которые установлен фокус, подсвечивать другим цветом - соотв-но при переводе фокуса делать по дефолту. Задача банальна, но вопрос - если я реализую валидацию в рамках функции, которая вешается на onload страницы, как и что мне в данном случае указывать в условии? if (document.getElementById("book").onfocus==false) ? Подскажите, пожалуйста. Заранее благодарю. |
Часовой пояс GMT +3, время: 02:34. |