jQuery остановить затухание ()

Я пытаюсь остановить анимацию fadeTo(). У меня есть блок из 4 изображений, где 3 из них (ненаведенные) должны стать темными, а зависшие остаются с непрозрачностью 1. К сожалению, код, который у меня есть до сих пор, заставляет все, включая зависшее, темнеть до того, как это «загорается». вверх" снова. Вместо этого я просто хочу, чтобы он оставался на 100% в первую очередь, потому что все остальное делает сайт не отвечающим.

Что у меня есть до сих пор:

$("#submenu").load("submenu.html", function(){
    function darken(){; 
    $("#submenu li").find("img").fadeTo( 100, 0.20  );
    }   

    function brighten(){
$("#submenu li").find("img").fadeTo( 100, 1.00  );
    }   

    $('#submenu li').each(function(index) {

            $(this).hover(
                  function () {
                    darken();

            //       $(this).stop(1,0).fadeTo(100, 0.20);
// if I do this ^ this image stays dark, even when hovered, and stays black when unhovered

           //        $(this).stop(1,0).fadeTo(100, 0.20);
// this ^ has no effect on the image whatsoever and it stays dark if I remove the line below

                $(this).find("img").fadeTo( 100, 1.00  );
// keeping this ^ line, it shows the behavior as stated in the question
                  }, 
                  function () {
                    brighten ();  
                  }
            );


    });

Я много возился с утверждениями (true, false) в вызове stop(), но до сих пор не добился успеха ни в одной комбинации.


person user2875404    schedule 07.07.2015    source источник
comment
Можете ли вы добавить ссылку Jsfiddle?   -  person Joci93    schedule 07.07.2015
comment
в настоящее время затухание не отображается на скрипке, просто нужно немного капсулировать код, пожалуйста, подождите   -  person user2875404    schedule 07.07.2015
comment
возможный дубликат Jquery stop fadeTo effect   -  person Jaffer Wilson    schedule 07.07.2015


Ответы (1)


Хорошо, я до сих пор ничего не знаю о веб-разработке (я разработчик приложений), но сейчас я передал элемент методу darken(), чтобы он знал, что «не следует» затемнять. Код выложу позже, когда почистят.

$("#submenu").load("submenu.html", function(){

    function darken(topkek){

        $.each($('#submenu ul li'), function( index, value ) {
            if(topkek.innerHTML!=$(this).html()){
                $(this).find("img").stop(true).fadeTo( 100, 0.40  );
            }
// I think one couldn't have done this worse than here but if it look stupid and it work, it ain't stupid
        }); 
    }   


    function brighten(){
        $("#submenu li").find("img").stop(true).fadeTo( 450, 1.00  );
    }   

    $('#submenu li').each(function(index) {

            $(this).hover(
                  function () {
                    darken(this);                   
                  }, 
                  function () {
                    brighten ();  
                  }
            );


    });

    });
person user2875404    schedule 07.07.2015