この機能を実装するには、以下のJavaScriptスクリプトを使用します：

```javascript
const button = document.querySelector('button');

// Изначальный градиентный цвет кнопки
const startColor = 'linear-gradient(to right, #FF6B6B, #3B3B98)';

// Цвет кнопки при наведении
const hoverColor = 'linear-gradient(to right, #FF6B6B, #FF6B6B)';

// Цвет кнопки при нажатии
const activeColor = 'linear-gradient(to right, #3B3B98, #FF6B6B)';

// Функция, которая меняет цвет кнопки
function changeColor(color) {
  button.style.background = color;
}

// Обработчик события наведения на кнопку
button.addEventListener('mouseover', () => {
  changeColor(hoverColor);
});

// Обработчик события ухода курсора с кнопки
button.addEventListener('mouseout', () => {
  changeColor(startColor);
});

// Обработчик события нажатия на кнопку
button.addEventListener('mousedown', () => {
  changeColor(activeColor);
});

// Обработчик события отпускания кнопки
button.addEventListener('mouseup', () => {
  changeColor(hoverColor);
});
```

上のコードでは、ページ上のボタンを選択し、そのボタンに3つの異なる色（初期グラデーション色、ホバー色、クリック色）を定義しています。そして、渡された色によってボタンの色を変える関数を定義しています。次に、ボタンにイベント・ハンドラを設定し、ボタンがホバーされたとき、押されたとき、離されたときに色を変更する関数を呼び出します。
Для реализации данной функциональности можно использовать следующий скрипт на JavaScript:

```javascript
const button = document.querySelector('button');

// Изначальный градиентный цвет кнопки
const startColor = 'linear-gradient(to right, #FF6B6B, #3B3B98)';

// Цвет кнопки при наведении
const hoverColor = 'linear-gradient(to right, #FF6B6B, #FF6B6B)';

// Цвет кнопки при нажатии
const activeColor = 'linear-gradient(to right, #3B3B98, #FF6B6B)';

// Функция, которая меняет цвет кнопки
function changeColor(color) {
  button.style.background = color;
}

// Обработчик события наведения на кнопку
button.addEventListener('mouseover', () => {
  changeColor(hoverColor);
});

// Обработчик события ухода курсора с кнопки
button.addEventListener('mouseout', () => {
  changeColor(startColor);
});

// Обработчик события нажатия на кнопку
button.addEventListener('mousedown', () => {
  changeColor(activeColor);
});

// Обработчик события отпускания кнопки
button.addEventListener('mouseup', () => {
  changeColor(hoverColor);
});
```

Код выше выбирает кнопку на странице и определяет три разных цвета для кнопки: изначальный градиентный цвет, цвет при наведении и цвет при нажатии. Затем он определяет функцию, которая меняет цвет кнопки в зависимости от переданного цвета. Далее он устанавливает обработчики событий для кнопки, которые вызывают функцию изменения цвета при наведении, нажатии и отпускании кнопки.