Цитата:
<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, время: 21:26. |