Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.02.2015, 09:23
Аватар для raler
Аспирант
Отправить личное сообщение для raler Посмотреть профиль Найти все сообщения от raler
 
Регистрация: 02.03.2011
Сообщений: 38

Средний цвет между двумя цветами
Всем привет!
Хотел поинтересоваться. Есть несколько блоков, идущих друг за другом.
Нужно, чтобы задав 2 цвета, блоки заливались цветами, перетекающими от первого цвета к другому.

Возможно ли это сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 05.02.2015, 09:48
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<style>
div{
    height: 100px;
    background: #F00;
    transition: background-color 0.5s;
}
div:hover{
    background: #0F0;
}
</style>
<div></div>
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 05.02.2015, 10:05
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от raler
Нужно, чтобы задав 2 цвета, блоки заливались цветами, перетекающими от первого цвета к другому.
Ты картинкой челе такое покажи...
Ответить с цитированием
  #4 (permalink)  
Старый 05.02.2015, 10:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от raler
Возможно ли это сделать?
да - (где то было)
Ответить с цитированием
  #5 (permalink)  
Старый 05.02.2015, 11:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Градиент блоков
raler,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
   div{
     width: 80px;
     height: 80px;
     float: left;
   }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function() {
         function gradient(from, to, num) {
             var arr = [];
             num--;
             for (var i = 0; i <= num; i++) {
                 var color = [],
                     l = from.length;
                 for (var k = 0; k < l; k++) {
                     color[k] = (to[k] - from[k]) * (i / num) + from[k];
                     k < 3 && (color[k] = Math.round(color[k]))
                 }
                 arr[i] = 'rgb' + (l == 4 ? 'a(' : '(') + color + ')';
             }
             return arr
         }        
var base = gradient([0, 0, 255, .9], [255, 0, 255, .3], 10)//или gradient([0, 0, 255], [255, 0, 255], 10)

         $.each(base, function(indx, el) {
             $('<div/>', {
                 css: {
                     'background-color': el
                 }
             }).appendTo('body')
         });

     });
  </script>
</head>
<body>
</body>
</html>

Последний раз редактировалось рони, 06.03.2018 в 12:08.
Ответить с цитированием
  #6 (permalink)  
Старый 05.02.2015, 14:25
Аватар для raler
Аспирант
Отправить личное сообщение для raler Посмотреть профиль Найти все сообщения от raler
 
Регистрация: 02.03.2011
Сообщений: 38

Сообщение от рони Посмотреть сообщение
raler,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
   div{
     width: 80px;
     height: 80px;
     float: left;
   }

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function() {
         function gradient(from, to, num) {
             var arr = [];
             num--;
             for (var i = 0; i <= num; i++) {
                 var color = [],
                     l = from.length;
                 for (var k = 0; k < l; k++) {
                     color[k] = (to[k] - from[k]) * (i / num) + from[k];
                     k < 3 && (color[k] = Math.round(color[k]))
                 }
                 arr[i] = 'rgb' + (l == 4 ? 'a(' : '(') + color + ')';
             }
             return arr
         }        
var base = gradient([0, 0, 255, .9], [255, 0, 255, .3], 10)//или gradient([0, 0, 255], [255, 0, 255], 10)

         $.each(base, function(indx, el) {
             $('<div/>', {
                 css: {
                     'background-color': el
                 }
             }).appendTo('body')
         });

     });
  </script>
</head>
<body>
</body>
</html>
То, что нужно, спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Убрать конфликт между двумя версиями jquery igorfelix Общие вопросы Javascript 6 01.11.2014 22:29
Получение частей строки, заключенных между двумя подстроками Tie Общие вопросы Javascript 15 07.04.2013 08:24
Конфликт между двумя скриптами karencho777 Общие вопросы Javascript 3 03.03.2013 12:51
В чем разница между двумя записями? Shitbox2 jQuery 5 22.11.2012 06:56
Связь между двумя окнами. iMIhael Общие вопросы Javascript 2 28.11.2011 13:39