Цитата:
<script> function DopInfo(str){ var d=document.createElement('div'); d.className='dopInfoCSS' document.getElementById('content').appendChild(d) } </script>И из таблицы при этом класс не считывается, отчего так? Дело такое, что если создавать на простом примере в простой странице - то класс считается. Но тут ситуация такая, что есть основная страница, есть в ней фрейм, который вызывает функцию из основной страницы на создание блока. Это отягощение явно как-то связано с тем, что такое присвоение класса не работает :( Притом при всем, такой класс есть в стиляк как самого фрейма, так и основной страницы. |
<style> #Fonaric { background-color: #C1D3FB; top:100px; position:absolute; } .Fonaric { color:green; font-weight:700; height:100px; } </style> <body> <script> function DopInfo(str){ var d=document.createElement('div'); d.id='Fonaric'; d.className='Fonaric'; d.style.left = "300px"; d.style.width = "200px"; d.style.border = "red solid 1px"; d.style.padding = "12px"; d.innerHTML = str; document.body.appendChild(d); }DopInfo('Привет'); </script> |
Г-н Deff, я об этом как раз и писал, что на простом примере в простой странице - оно работает. Но если функция находится в основной странице и вызывается из фрейма - то класс из таблицы стилей не считывается.
|
Цитата:
|
<style> #Fonaric { background-color: #C1D3FB; top:100px; position:absolute; } .Fonaric { color:green; font-weight:700; height:100px; } </style> <body> <script> function DopInfo(str){ var d=document.createElement('div'); d.id='Fonaric'; d.className='Fonaric'; d.style.left = "300px"; d.style.width = "200px"; d.style.border = "red solid 1px"; d.style.padding = "12px"; d.innerHTML = str; document.body.appendChild(d); }DopInfo('Привет'); </script> <script> function Funk0(aa) { var a='' var iframe = aa var iframeDoc = iframe.contentWindow.document; var b = iframeDoc.createElement('div'); b.innerHTML=a;//alert(b.innerHTML) iframeDoc.body.appendChild(b); var s = iframeDoc.createElement('script'); s.setAttribute("type","text/javascript"); s.text='parent.DopInfo("Привет");'; b.appendChild(s); setTimeout(function() {/*alert('удаляем фрейм');*/aa.parentNode.removeChild(aa)},3000) //Удаляем фрейм } </script> <iframe name=frame1 onload="Funk0(this)"></iframe> |
Я все сделал по вашему примеру варианта 2: Во фрейме есть див блок у которого назначено на клик
parent.DopInfo(this) На основной странице есть такое <script> function DopInfo(str){ var d=document.createElement('div'); d.className='dopInfoCSS' d.innerHTML = str; document.body.appendChild(d) } </script>И при этом стиль не считывается :cray: Блок появляется без стиля. |
фонарик,
Есть Инет ссылка на реальную страницу с подобным? Ти пробуй поставить для теста На главную: <style> #Fonaric { background-color: #C1D3FB; top:100px; position:absolute; } .Fonaric { color:green; font-weight:700; height:100px; } </style> <body> <script> function DopInfo(str){ var d=document.createElement('div'); d.id='Fonaric'; d.className='Fonaric'; d.style.left = "300px"; d.style.width = "200px"; d.style.border = "red solid 1px"; d.style.padding = "12px"; d.innerHTML = str; document.body.appendChild(d); }DopInfo('Привет'); </script> А во фрейме <script> parent.DopInfo("Привет"); </script> По крайней мере - если по Id чувствует, то можно класс добавить с главной |
К сожалению, нету :( Если функцию перенести на страницу фрейма, открыть фрейм как отдельную страницу и на события клика по блоку вызвать функцию из этой же страницы - то стиль применяется.
|
фонарик,
Суть в том, что В посте 15 делается именно так , и стиль как видишь действует |
http://hostjs-mybb2011.narod.ru/Div_and_Frame0.htm
Точная копия поста 17 |
Часовой пояс GMT +3, время: 09:43. |