Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.12.2013, 05:06
Новичок на форуме
Отправить личное сообщение для Zemster Посмотреть профиль Найти все сообщения от Zemster
 
Регистрация: 27.12.2013
Сообщений: 6

не могу нормально поменять css
изначально opacity = 0.7; после выполнения функции должно быть 1.0, но становится 0.3


function opp() 
   {
   er=document.getElementById('bn').style.opacity;
   er=er+0.3;
   document.getElementById('bn').style.opacity=er;
   setTimeout("opp()", 200);
   
   }

Последний раз редактировалось Zemster, 27.12.2013 в 05:22.
Ответить с цитированием
  #2 (permalink)  
Старый 27.12.2013, 05:21
Новичок на форуме
Отправить личное сообщение для Zemster Посмотреть профиль Найти все сообщения от Zemster
 
Регистрация: 27.12.2013
Сообщений: 6

вот код полностью

<!DOCTYPE HTML >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Документ без названия</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
<div id ="col">

<h1>заголовок</h1>
</div>
<img id="bn" src="2.jpg">
 <form>
   <p><input type="button" id="Yo" value=" Нажми меня нежно " onClick="opp()" ></p>
  </form>
  <script>
 
 
  var er=0;
  
	
   function opp() 
   {
   er=document.getElementById('bn').style.opacity;
   er=er+0.3;
   document.getElementById('bn').style.opacity=er;
   setTimeout("opp()", 200);
   
   }
  
  </script>

</body>
</html>

Последний раз редактировалось Zemster, 27.12.2013 в 05:24.
Ответить с цитированием
  #3 (permalink)  
Старый 27.12.2013, 05:25
Аспирант
Отправить личное сообщение для Antonius Посмотреть профиль Найти все сообщения от Antonius
 
Регистрация: 30.11.2013
Сообщений: 42

style возвращает inline-стиль, если я ничего не перепутал. Если opacity задано не с помощью атрибута style='opacity: .7', а из внешней таблицы стилей, то в er у вас попадает пустая строка. Затем к ней прибавляется (сложением строк, обратите внимание) 0.3 и в результате, очевидно, получается 0.3.

Исправить это можо, например, так:

function opp() 
{
var elem = document.getElementById('bn');
var er=getComputedStyle(elem, '').opacity;
er = +er + 0.3; // приводим строку к числу и складываем
elem.style.opacity = er;
}
Ответить с цитированием
  #4 (permalink)  
Старый 27.12.2013, 05:43
Новичок на форуме
Отправить личное сообщение для Zemster Посмотреть профиль Найти все сообщения от Zemster
 
Регистрация: 27.12.2013
Сообщений: 6

Спасибо за ответ, вроде разобрался
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поменять css sprightly jQuery 4 12.09.2012 14:08
Поменять фон CSS + JS devarts Элементы интерфейса 3 24.03.2012 23:52
как поменять значение класса в css wmag Events/DOM/Window 2 15.02.2012 14:40
jQuery поменять CSS цвет для текста при наведении мышью (.text:hover) JooZ jQuery 16 15.11.2010 19:56
Не могу получить высоту из css asci Общие вопросы Javascript 5 30.03.2009 13:31