Как сделать постепенное увеличение при изменении цвета при наведении мыши и постепенное уменьшение масштаба и исчезновение цвета при использовании мыши

0

То, что я пытаюсь достичь, постепенно увеличивает изображение при изменении цвета с новым изображением. Например, изображение яблока с черным цветом, и у меня есть другое изображение с красным цветом. Когда вы наведите курсор мыши на черное яблоко, он постепенно изменит цвет, превратив его в красный. Проблема в том, что когда я наводил указатель мыши, он мгновенно переходит на другое изображение, а затем уменьшает масштаб. Есть идеи? или это возможно в jquery?

(функция ($) {"use strict";

    // Start Documentation
    $(document).ready(function () {


        //  About Us Title Text

        $('.about_us_img,.about_us_txt').mouseover(function () {
            {

                $('.about_us_img').animate({
                    width: "216px"
                }, 400);
                $('.about_us_txt').css({
                    color: '#49968b'
                });

                $('.about_us_txt').animate({
                    fontSize: newSizeAU
                }, 300);

                $('.about_us_img').attr("src", AboutHut);
                $(this).fadeTo('300', 0.9);

            }
        });

        $('.about_us_img,.about_us_txt').mouseout(function () {
            {

                $('.about_us_img').animate({
                    width: "196px"
                }, 400);
                $('.about_us_txt').css({
                    color: '#000'
                });

                $('.about_us_txt').animate({
                    fontSize: oldSizeAU
                }, 300);
                $(this).fadeTo('300', 1);
                $('.about_us_img ').attr("src", OrigHut);

            }
        });
        var oldSizeAU = parseFloat($('.about_us_txt').css('font-size'));
        var newSizeAU = oldSizeAU * 1.1;


        //Our Project



        $('.our_project_img,.our_project_txt').mouseover(function () {
            {

                $('.our_project_img').animate({
                    width: "216px"
                }, 400);
                $('.our_project_txt').css({
                    color: '#b26c64'
                });

                $('.our_project_txt').animate({
                    fontSize: newSizePR
                }, 300);
                $('.our_project_img').attr("src", ProjectHut);
                $(this).fadeTo('300', 0.9);
            }
        });

        $('.our_project_img,.our_project_txt').mouseout(function () {
            {

                $('.our_project_img').animate({
                    width: "196px"
                }, 400);
                $('.our_project_txt').css({
                    color: '#000'
                });

                $('.our_project_txt').animate({
                    fontSize: oldSizePR
                }, 300);
                $(this).fadeTo('300', 1);
                $('.our_project_img').attr("src", OrigHut);

            }
        });
        var oldSizePR = parseFloat($('.our_project_txt').css('font-size'));
        var newSizePR = oldSizePR * 1.1;


        //My Profile



        $('.my_profile_img,.my_profile_txt').mouseover(function () {
            {
                $(this).fadeTo('300', 0.9);
                $('.my_profile_img').animate({
                    width: "216px"
                }, 400);
                $('.my_profile_txt').css({
                    color: '#8db262'
                });

                $('.my_profile_txt').animate({
                    fontSize: newSize
                }, 300);
                $('.my_profile_img').attr("src", ProfileHut);

            }
        });

        $('.my_profile_img,.my_profile_txt').mouseout(function () {
            {

                $('.my_profile_img').animate({
                    width: "196px"
                }, 400);
                $('.my_profile_txt').css({
                    color: '#000'
                });

                $('.my_profile_txt').animate({
                    fontSize: oldSize
                }, 300);
                $(this).fadeTo('300', 1);
                $('.my_profile_img').attr("src", OrigHut);

            }
        });






        var oldSize = parseFloat($('.my_profile_txt').css('font-size'));
        var newSize = oldSize * 1.1;
        /****

$('.my_profile_img,.my_profile_txt').mouseover(function () {


    $('.my_profile_img,.my_profile_txt').fadeTo('slow', 0.8, function () {
        $('.my_profile_img').animate({
            width: newWidthSize
        }, 500);
        $('.my_profile_txt').animate({
            fontSize: NewSize
        }, 300);


        $(this).fadeTo('200', 1);
        $('.my_profile_img').attr('src', ProfileHut);


    });
});

$('.my_profile_img,.my_profile_txt').mouseout(function () {
    $('.my_profile_img').animate({
        width: oldWidthSize
    }, 500);
    $('.my_profile_txt').animate({
        fontSize: oldSize
    }, 300);

    $(this).fadeTo('300', 0.9, function () {

        $('.my_profile_img').attr('src', OrigHut);
        $(this).fadeTo('300', 1);
    });

});

var oldWidthSize = parseFloat($('.my_profile_img').css('width'));
var newWidthSize = oldWidthSize * 1.1;

**/


        // End Ready Documentation
    });


})(jQuery);

2 ответа

0

Кажется, что вы хотите перейти между двумя изображениями, а не менять цвет одного изображения, верно?

Этот FIDDLE (щелчок на миньоне) заставляет миньона увеличиваться, а затем исчезать, а затем заменяется Микки Маусом. Если это общая вещь, которую вы ищете, у вас могут быть два изображения, точно такого же размера, но разные цвета, и играть с размерами в скрипке.

JS

$( ".imagediv" ).click(function(){

  $( "#minion" ).animate({
                          height: 400,
                          width: 300
                          }, 3000,
                         function() {
                                 $( "#minion" ).animate({
                                                opacity: 0
                                                         }, 1000,
                          function() {
                                      $('.imagediv').html( $('.hiddendiv img').clone() );
                                      });
                                     });

});//end click
  • 0
    Спасибо, я сумел выдвинуть идею для вашего ответа. Можно ли анимировать 20 изображений при наведении мыши, чтобы постепенно происходило изменение цвета изображения?
  • 0
    Вы можете просто изменить щелчок и навести курсор на 100 изображений. Но изменение цвета, как упомянул Габриэль Ферраз, проблематично. Если бы вы могли предоставить более подробную информацию, мы могли бы помочь вам лучше. У вас есть одно изображение и одно, чтобы изменить цвет этого изображения? Или у вас есть два изображения, одного общего вида, но двух разных цветов, между которыми вы хотите перейти?
Показать ещё 2 комментария
0

jQuery не поддерживает цветную анимацию. Однако jQuery UI имеет плагин, который обрабатывает цветные анимации (см. Страницу пользовательского интерфейса для цветовой анимации здесь: http://jqueryui.com/animate/). Сначала необходимо установить jQuery UI и использовать плагин, который вы найдете здесь: https://github.com/jquery/jquery-color/

На плагине также есть отличный пример.

Как только у вас установлен плагин, должно быть легко оживить цвета. Ниже приведенный ниже фрагмент, взятый из документации плагина, должен дать вам представление о том, как это работает:

<!DOCTYPE html>
<html>
<head>
<style>
div {
  background-color: #bada55;
  width: 100px;
  border: 1px solid green;
}
</style>
<script src="http://code.jquery.com/jquery-1.6.1.min.js"></script> //jQuery UI
<script src="jquery.color.min.js"></script> //plugin
</head>
<body>
<button id="go">Simple</button>
<button id="sat">Desaturate</button>
<div id="block">Hello!</div>
<script>
jQuery("#go").click(function(){
  jQuery("#block").animate({
      backgroundColor: "#abcdef"
  }, 1500 );
});
jQuery("#sat").click(function(){
  jQuery("#block").animate({
      backgroundColor: jQuery.Color({ saturation: 0 })
  }, 1500 );
});
</script>
</body>
</html>
  • 0
    спасибо, но проблема в том, что делает изображение постепенным

Ещё вопросы

Сообщество Overcoder
Наверх
Меню