Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: style в JavaScript
 
 автор: eldorado   (31.08.2006 в 17:58)   письмо автору
 
 

У меня вопрос:
есть файл стилей: style.css с таким содержимым:
.norm
{
size:9;
color:#000000;
background-color:#B5B5B9;
}


И есть файл *.htm.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
...
<script language="JavaScript">
function newColor(idCell) {
color =document.getElementById(idCell).style.backgroundColor; //я пишу так, но так НЕправильно
alert(color);
}
</script>

<link rel=stylesheet href="style.css" type="text/css">

</head>
<body>
<table width=60% border=1 cellspacing=0 cellpadding=4 bordercolor=#333333 align=center>
<tr>
<td align=center class="norm" ID="c1">
<a href="#" onMouseOver="newColor('c1')" >text1</a>
</td>
</tr>
</table>
</body>
</html>

Вопрос вот в чем:
как мне из JavaScript обратится к стилю с определенным именем, и получить значение конкретного поля(в данном случае backgroundColor)(для браузеров IE, Firefox, Opera)

   
 
 автор: Sanek   (31.08.2006 в 19:13)   письмо автору
 
   для: eldorado   (31.08.2006 в 17:58)
 

я пишу так, но так НЕправильно
Ну конечно у тебя ведь css файл определяется ниже чем скрипт. Попробуй скрипт вставить ниже.

   
 
 автор: AlexSol   (31.08.2006 в 19:37)   письмо автору
 
   для: Sanek   (31.08.2006 в 19:13)
 

to Sanek>>важно чтобы вызов был после создания элемента.

можно так

<script language="JavaScript">
function newColor(par) {
color =document.getElementById(par).style.backgroundColor; 
alert(color);
}
</script>

<a href="#" onMouseOver="newColor(this)" >text1</a>


но также можно обратиться именно к стилю. попробуйте поиск по сайту

   
 
 автор: eldorado   (31.08.2006 в 20:08)   письмо автору
 
   для: AlexSol   (31.08.2006 в 19:37)
 

вроде так не работает...

   
 
 автор: AlexSol   (31.08.2006 в 20:23)   письмо автору
 
   для: eldorado   (31.08.2006 в 20:08)
 

при первом обращение значение не читает


<style>
#a1{background-color:#003366; color:#CCCCCC}
</style>
<script type="text/javascript"> 
function newColor(par) { 
alert(par.style.color);  
par.style.color='red'; 
alert(par.style.color); 

</script> 

<a id="a1" onMouseOver="newColor(this)" >text1</a> 

   
 
 автор: AlexSol   (31.08.2006 в 20:28)   письмо автору
 
   для: AlexSol   (31.08.2006 в 20:23)
 

http://www.spravkaweb.ru/javascript/reference/style/nn/

   
 
 автор: eldorado   (06.09.2006 в 20:26)   письмо автору
 
   для: AlexSol   (31.08.2006 в 20:28)
 

Вот так тоже не работает
<style>
.norm
{
font-family: "Times New Roman", Times, serif;
size:9;
color:#000000;
background-color:#CCCCCC;
}
</style>


<script language="JavaScript">
function newColor() {
color = document.classes.norm.all.backgroundColor;
}
</script>
...
<table width=60% border=1 cellspacing=0 cellpadding=4 bordercolor=#333333 align=center>
<tr>
<td align=center class="norm" >
<a href="#" onMouseOver="newColor()">text1</a> </td>
</tr>
</table>

   
 
 автор: 12345   (06.09.2006 в 22:11)   письмо автору
 
   для: eldorado   (06.09.2006 в 20:26)
 

Опера не работает с ними, так что можно не суетиться :

   
 
 автор: eldorado   (13.09.2006 в 21:21)   письмо автору
 
   для: 12345   (06.09.2006 в 22:11)
 

КАК обратится именно к конкретному стилю?
вот такая запись
.....
<style>
.norm
{
font-family: "Times New Roman", Times, serif;
size:9;
color:#000000;
background-color:#CCCCCC;
}
</style>
.....
color = document.classes.norm.tr.backgroundColor;
или
color = document.classes.norm.all.backgroundColor;

не проходит :(

   
 
 автор: eldorado   (13.09.2006 в 21:51)   письмо автору
 
   для: eldorado   (13.09.2006 в 21:21)
 

вобщем делаетс это так:

если есть
<td align=center class="norm" ID="c1">
<a href="#" onMouseOver="newColor('c1')" onMouseOut="backColor('c1')">Пункт1</a> </td>

то для того чтобы определить цвет заданный стилем необходимо написать:
color = document.getElementById(idCell).currentStyle.backgroundColor;

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования