Как изменить цвет при каждом включении колесика мыши? - PullRequest
0 голосов
/ 28 сентября 2018

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

   $('#content').bind('mousewheel',function(event) {
        var scroll_up   = event.originalEvent.deltaY > 120;
        var red         = $('#content').css('color', 'red');
        var blue        = $('#content').css('color', 'blue');

        if(scroll_up) {
            console.log('you scrolled up!');
            //change color to red
            red;
        }
        if(red && scroll_up){
            console.log('you scrolled up again!');
            //change color to blue
            blue;
        }
    });

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018
$('#content').bind('mousewheel', function(event) {
    var content = $('#content');
    var scrollUp = (event.originalEvent.deltaY / 120 > 0);
    if (scrollUp) {
        var isRed = (content.css('color') == 'rgb(255, 0, 0)');

        console.log('you scrolled up!');

        if (isRed) {
            content.css('color', 'rgb(0, 0, 255)');
        } else {
            content.css('color', 'rgb(255, 0, 0)');
        }
    }
});
0 голосов
/ 28 сентября 2018

Вам нужно изменить свой код следующим образом:

$('#content').bind('mousewheel',function(event) {
        var scroll_up   = event.originalEvent.deltaY > 120;


        if(scroll_up) {
            console.log('you scrolled up!');
            //change color to red

            changeColor(red);
        }
        if(red && scroll_up){
            console.log('you scrolled up again!');
            //change color to blue
            changeColor(blue);
        }
    });

function changeColor(color){

    $('#content').css('color', color);
}

* я не проверял код, но он должен работать как положено.

Ваш код не работает, потому чтоВы уже назначили цвет до того, как условие было выполнено, поэтому последний цвет был единственным, который вы отправляете.

...