以下は、ホバー時に色が滑らかに変化するボタンのJavascriptスクリプトの例です：

```
// ボタン要素を取得する
let button = document.querySelector('#button')；

// 最初のグラデーションを設定する
let gradient = 'linear-gradient(to right, #ff0000, #00ff00, #0000ff)'；
button.style.background = gradient；

// 初期グラデーションを設定する
let hoverColor = '#ff0000'；

// ホバー・イベント・リスナーを追加する
button.addEventListener('mouseover', () => { 
    button.style.background = hoverColor；
});

// ホバー・イベント・リスナーを追加する
button.addEventListener('mouseout', () => {
    button.style.background = gradient；
});

// マウスクリックのイベントリスナーを追加する
button.addEventListener('click', () => {
    let shimmerGradient = 'linear-gradient(to right, #ff0000, #00ff00, #0000ff, #ff0000)'；
    button.style.background = shimmerGradient；
});
```
Вот пример Javascript-скрипта для кнопки, которая плавно меняет свой цвет при наведении:
// Получаем элемент кнопки
let button = document.querySelector('#button');

// Set the initial gradient
let gradient = 'linear-gradient(to right, #ff0000, #00ff00, #0000ff)';
button.style.background = gradient;

// Установливаем начальный градиент
let hoverColor = '#ff0000';

// Add the hover event listener
button.addEventListener('mouseover', () => {
    button.style.background = hoverColor;
});

// Добавляем прослушиватель событий при наведении
button.addEventListener('mouseout', () => {
    button.style.background = gradient;
});

// Добавляем прослушиватель событий клика мышки
button.addEventListener('click', () => {
    let shimmerGradient = 'linear-gradient(to right, #ff0000, #00ff00, #0000ff, #ff0000)';
    button.style.background = shimmerGradient;
});