Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.04.2012, 14:48
Аспирант
Отправить личное сообщение для faraday Посмотреть профиль Найти все сообщения от faraday
 
Регистрация: 10.03.2012
Сообщений: 50

применить несколько стилей
Здравствуйте, у меня на сайте есть textarea , в котором пишется css код .
при нажатии кнопки, нужно чтобы этот css код прмиенялся к странице в другом фрейме. Как это правильно сделать?
пытался добавлять текстовое содержимое в тег style фрейма - не работает. знаю что на jquery есть функция css, но для неё нужно будет вручную распарсить весь текст. и применить построчно - что сложно и неудобно.
Ответить с цитированием
  #2 (permalink)  
Старый 24.04.2012, 15:58
Аспирант
Отправить личное сообщение для faraday Посмотреть профиль Найти все сообщения от faraday
 
Регистрация: 10.03.2012
Сообщений: 50

style тег? тег. тут помоему очевидно что имеется ввиду добавление в код фрейма.
Мне кажется, что такие вещи как применение стилей происходит во время построения страницы, и если их добавить после в тег стайл - работать не будет.
код
parent.frames[1].getElement('style'). - знаю что не правильно, но мысль развивать не стал по причине описанной выше.
Ответить с цитированием
  #3 (permalink)  
Старый 24.04.2012, 18:39
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

На самом деле все можно сделать как раз сам проверял свой код можно делать так:
<html>
<head>
<meta charset="utf-8">
</head><frameset rows='50%,50%'>
	<frame src='новый_файл.html' >
	<frame src='новый_файл2.html'>
	</frameset></html>

это самый первый html он содержит ссылки на фреймы :
<html><head><meta charset="utf-8"><title></title>
<script>
document.write('Yes');
function csstextv(){
style = parent.frames[1].document.getElementById('s1');
csstext=document.form.tex.value;
csstext=document.createTextNode(document.form.tex.value);
if(csstext!=''){
style.appendChild(csstext)
}
}

</script><form name='form'>
<textarea rows='4' cols='10' name='tex'></textarea><button onclick='csstextv()'>Сделать CSS</button></form>
</body></html>


это второй содержит скрипт влияющий на смежный фрейм точнее его тег style с атрибутом id равным 's1'
<html><head><style id='s1'></style><meta charset="utf-8"><title></title><body>
боди
</body></html>


ну и третий в нём как раз этот тег style с атрибутом id равным 's1'
я могу предложить такой принцип действия (не забудьте что эти фреймы оба должны принадлежать окну верхнего уровня или одному и тому же фрейму, если они вложенные вот и всё )

Последний раз редактировалось Dim@, 24.04.2012 в 18:53.
Ответить с цитированием
  #4 (permalink)  
Старый 24.04.2012, 19:45
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

чтобы добавить css текстом, надо делать это не через textNode, а через свойство тега <style> - innerHTML
(или через добавление правил по одному)
Ответить с цитированием
  #5 (permalink)  
Старый 24.04.2012, 20:27
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

Впрочем если вы имеете всмысле что-бы код не вставлялся отрывками изменялся полностью тогда да надо использовать свойство innerhtml
Ответить с цитированием
  #6 (permalink)  
Старый 24.04.2012, 23:47
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от melky Посмотреть сообщение
чтобы добавить css текстом, надо делать это не через textNode, а через свойство тега <style> - innerHTML
(или через добавление правил по одному)
EQEQEQ TO
Сообщение от Maxmaxmахimus Посмотреть сообщение
var style = document.createElement('style');
style.innerHTML = "a{color: #000}"
LOL
Ответить с цитированием
  #7 (permalink)  
Старый 26.04.2012, 01:15
Аспирант
Отправить личное сообщение для faraday Посмотреть профиль Найти все сообщения от faraday
 
Регистрация: 10.03.2012
Сообщений: 50

Всем спасибо за помощь, код Dim@ помог, разобрался.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переключение стилей интервалом 5 секунд progns Общие вопросы Javascript 3 25.10.2011 14:47
Несколько созданных элементов располагаются в одной строке. Как этого избежать? Hold Events/DOM/Window 1 21.01.2011 22:52
Несколько одинаковых таблиц. Обращение к отдельным элементам в них. zaytsewa Элементы интерфейса 7 11.11.2010 08:08
Несколько div блоков. Переключение по нажатии на соответствующую ссылку. Help$ Элементы интерфейса 4 24.09.2010 23:01
Изменение путей к таблицам стилей и скриптам в скрипете галереи lightbox 2.04 Flashton Элементы интерфейса 1 01.02.2010 09:10