Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/34: Рейтинг темы: голосов - 34, средняя оценка - 4.53
14 / 14 / 0
Регистрация: 01.12.2017
Сообщений: 577

Рандомное изменение background-color

24.04.2019, 23:55. Показов 6576. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Требуется создать поле ввода, и настроить keypress таким образом, чтоб background-color этого поля рандомно менялся. Сделал что-то типа такого, но работает только с кликом + неясно как можно рандомно задавать цвета. Помогите, пожалуйста!

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
        <script type="text/javascript">
            $( document ).ready(function(){
      $( "div" ).click(function(){ // задаем функцию при нажатии на элемент button
        $( "input" ).keypress(); // вызываем событие keypress на элементе <div>
      });
      $( "input" ).keypress(function(){ // задаем функцию при нажатии любой, кроме специальных клавиш клавиатуры на элементе
        $( "input" ).css( "background-color", "orange" ); // задаем цвет заднего фона элемента
      });
    });
        </script>
    </head>
    <body>
        <div><input class="toggle-color" type="text"></div>
</html>
</html>
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.04.2019, 23:55
Ответы с готовыми решениями:

Рандомное изменение числа раз в N-часов
Всем добрый день! Помогите, пожалуйста, со следующей задачей: Имеется скрипт, рандомно меняющий число от 2 до 4, но делает он это каждую...

изменение background-image
Прошу помощи, имеется блок с background-image, хочу сделать смену фона с помощью animate opacity с изменением пути к фоновой картинке, при...

Изменение background-position в цикле
Здравствуйте, столкнулся с проблемой изменения background-position в цикле, задача сделать так, чтобы каждые 100мс менялось расположение...

4
14 / 14 / 0
Регистрация: 01.12.2017
Сообщений: 577
26.04.2019, 00:03  [ТС]
Переделал под такое. Если без ф-ии рандома, то срабатывало на нажатие клавиши, т.е. менялся цвет на оранжевый.
После внедрения ф-ии рандомного выбора цвета - сломалось окончательно. Помогите найти ошибку
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
        <script type="text/javascript">
            $( document ).ready(function(){
      $( "div" ).keypress(function(){ // задаем функцию при нажатии на элемент button
        $( "input" ).keypress(); // вызываем событие keypress на элементе <div>
      });
      $( "input" ).keypress(function(){ // задаем функцию при нажатии любой, кроме специальных клавиш клавиатуры на элементе
            function getRandomInt(min, max) {
                return Math.floor(Math.random() * (max - min + 1)) + min;
    };
        var colors = ['#05668D', '#028090', '#00A896', '#02C39A', '#F0F3BD'];
        $("input").each(function(index,el){
            var randomColorIndex = getRandomInt(0,colors.length-1);
            $( "input" ).css( "background-color", colors[randomColorIndex] ); // задаем цвет заднего фона элемента
      });
    });
        </script>
    </head>
    <body>
        <div><input class="toggle-color" type="text"></div>
</html>
</html>
0
14 / 14 / 0
Регистрация: 01.12.2017
Сообщений: 577
26.04.2019, 23:44  [ТС]
Еще такой вариант, который, по идее, должен сам менять цвета после первого нажатия клавиши. Однако, тоже не работает. Может кто-то помочь с этим вариантом или предыдущим?
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
        <script type="text/javascript">
            $( document ).ready(function(){
      $( "div" ).keypress(function(){ // задаем функцию при нажатии на элемент button
        $( "input" ).keypress(); // вызываем событие keypress на элементе <div>
      });
      $( "input" ).keypress(function(){ // задаем функцию при нажатии любой, кроме специальных клавиш клавиатуры на элементе
            setInterval(function() {
  $color = generateColor();
  $('input')
    .css('background-color', $color)
    .text($color);
}, 2000);
 
// Generates random color 
function generateColor() {
  return '#' + Math.floor(Math.random() * 16777215).toString(16)
}
    });
        </script>
    </head>
    <body>
        <div><input class="toggle-color" type="text"></div>
</html>
</html>
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
27.04.2019, 18:10
Лучший ответ Сообщение было отмечено Teylor как решение

Решение

Teylor,

https://codepen.io/Mr_Sergo/pen/LvqvbX
HTML5
1
<input class="toggle-color" type="text">
JavaScript
1
2
3
4
5
6
7
8
$('input').on('input',function(){
    $(this).css('background-color', randColor());
});
 
function randColor(){
    let rand = () => Math.floor(Math.random() * (255 + 1 - 0) + 0);
    return `rgb(${rand()},${rand()},${rand()})`;
}
0
14 / 14 / 0
Регистрация: 01.12.2017
Сообщений: 577
27.04.2019, 23:45  [ТС]
Mr_Sergo, это гениально!

Добавлено через 14 минут
Mr_Sergo, непонятно почему, но не работает. вроде все правильно сделал.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html>
<html>
    <head>
        <script src="https://code.jquery.com/jquery-3.2.1.js"></script>
<script type="text/javascript">
    $('input').on('input',function(){
    $(this).css('background-color', randColor());
});
 
function randColor(){
    let rand = () => Math.floor(Math.random() * (255 + 1 - 0) + 0);
    return `rgb(${rand()},${rand()},${rand()})`;
}
</script>
 
    </head>
    <body>
        <input class="toggle-color" type="text">
</body>
</html>
Добавлено через 28 минут
Проблема решена... Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.04.2019, 23:45
Помогаю со студенческими работами здесь

Изменение background по повторному клику
Здравствуйте! Сразу код ))) &lt;style&gt; #pano{ width:90%; border:1px red solid; } .point{

Изменение background через animate
$(document).ready(function(){ $(&quot;#some&quot;).click(function(){ $(&quot;body&quot;).animate({ 'opacity': '0.35', 'backgroundColor':...

Изменение background через функцию
Создаю расширение для браузера на изменение внешнего вида страницы. Требуется создать функцию которая меняет body на картинку url которой...

Изменение background-image при наведении
Всем привет. Есть такой код: $(&quot;.leftSlider_btn&quot;).hover(function() { $(this).css(&quot;background-image&quot;,...

Изменение background в css без рефреша
Такое дело: надо осуществить на сайте возможность замены фонового рисунка в блоке на свой (изображение-паттерн) без перезагрузки и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru