Javascript.RU

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

Автоматическая плавная смена цвета фона
Подскажите, как правильно сделать плавную смену фона (именно цвета). Для примера нашел это
Делал так:
<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>
 <script language="javascript">
 
var begcolor='#ff1a0c';
var endcolor='#ab00ff';
var steps=250;
var delay=50;
 
var data=new Array();
var ns4=(document.layers)?true:false;
for(i=1, j=1;i<=3; i++, j+=2)data[i]=new colorset(j);
document.bgColor=begcolor;
 
function colorset(num){
this.beg=parseInt('0x'+begcolor.substring(num,num+2));
this.end=parseInt('0x'+endcolor.substring(num,num+2));
this.up=this.startup=(this.end>=this.beg)? true : false;
this.incr=Math.abs(this.end-this.beg)/steps;
this.current=this.beg;
}
 
function changebg(){
var color=new Array();
for(i=1;i<=3; i++){
(data[i].up)? data[i].current+=data[i].incr : data[i].current-=data[i].incr;
if(data[i].startup){
if(data[i].current>=data[i].end){ data[i].up=false; data[i].current=data[i].end}
if(data[i].current<=data[i].beg){ data[i].up=true; data[i].current=data[i].beg }
}
if(!data[i].startup){
if(data[i].current<=data[i].end){ data[i].up=true; data[i].current=data[i].end}
if(data[i].current>=data[i].beg){ data[i].up=false; data[i].current=data[i].beg}
}
color[i]=data[i].current;
}
color[4]=Math.floor(color[1]).toString(16); if(color[4].length==1)color[4]='0'+color[4];
color[5]=Math.floor(color[2]).toString(16); if(color[5].length==1)color[5]='0'+color[5];
color[6]=Math.floor(color[3]).toString(16); if(color[6].length==1)color[6]='0'+color[6];
document.bgColor='#'+color[4]+color[5]+color[6];
 
}
window.onload=function(){
setInterval('changebg()',delay);
}
</script>
  </body>
</html>


но не подходит, так как можно использовать только 2 цвета переходящие друг в друга. А нужно чтобы были все цвета радуги
Ответить с цитированием
  #2 (permalink)  
Старый 11.05.2015, 15:19
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

weblab,
зачем же так мучиться? В CSS задай специальным классам эти цвета, добавь CSS-свойство transition для плавности и через нужное время меняй классы.
Ответить с цитированием
  #3 (permalink)  
Старый 11.05.2015, 17:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

weblab,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <style type="text/css">
  div{
    width:100px;
    height:100px;
    -webkit-animation: color 5s ease-in-out infinite;
	-moz-animation: color 5s ease-in-out infinite;
	-o-animation: color 5s ease-in-out infinite;
	animation: color 5s ease-in-out infinite;
  }

  @keyframes color {
      0% {
        background-color: #FF0000;
      }
      17%{
         background-color: #FFA500;
      }
      34%{
         background-color:  #FFFF00;
      }
     51%{
         background-color:  #008000;
      }
	68% {
		  background-color:  #0000FF;
	}
   85%{
         background-color:  #000080;
   }
   100%{
     background-color: #800080;
   }

}
@-webkit-keyframes color {
  0% {
        background-color: #FF0000;
      }
      17%{
         background-color: #FFA500;
      }
      34%{
         background-color:  #FFFF00;
      }
     51%{
         background-color:  #008000;
      }
	68% {
		  background-color:  #0000FF;
	}
   85%{
         background-color:  #000080;
   }
   100%{
     background-color: #800080;
   }
}


  </style>
</head>

<body>
<div></div>

</body>

</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена цвета фона каждую секунду. shmihshmih Элементы интерфейса 9 22.02.2020 18:33
Плавная смена background-image div-ва в котором есть контент phenom jQuery 1 09.04.2013 14:28
Смена фона и цвета ссылки, если посетитель находиться на ней Gawk Общие вопросы Javascript 4 19.02.2012 15:27
Бесконечная смена цвета текста iGusse Элементы интерфейса 4 08.10.2011 22:03
случайная смена фона сайта на jquery Netherlandman jQuery 8 25.08.2010 03:11