элемент наведения средства выбора цвета jquery

#javascript #jquery

#javascript #jquery

Вопрос:

Нужна помощь с классом наведения.

Как вы можете видеть код, тогда я должен навести курсор на элементы, но, к сожалению, они не меняют цвет. есть какие-нибудь идеи, как заставить все работать?

Я следовал коду:

 $('#color_mix_menu_top').ColorPicker({
    color: '#0000ff',
    onShow: function (colpkr) {
        $(colpkr).fadeIn(500);
        return false;
    },
    onHide: function (colpkr) {
        $(colpkr).fadeOut(500);
        return false;
    },
    onChange: function (hsb, hex, rgb) {
        $('#menu > ul > li:hover > a, #menu > ul > li > a:hover, #menu > ul > li > div').css('backgroundColor', '#'   hex);
        $('#color_mix_menu_top').css('backgroundColor', '#'   hex);
}
});
  

Комментарии:

1. Не видя остальной части кода, т. Е. где определены hsb , hex и rgb , и сопутствующего html, трудно решить эту проблему

Ответ №1:

вы регистрировались или выполняли отладку, чтобы убедиться, что ваш селектор jquery работает? например

 console.log(""   $('#menu > ul > li:hover > a, #menu > ul > li > a:hover, #menu > ul > li > div').length)
  

просто чтобы убедиться, что вы там ничего не упускаете.

Комментарии:

1. обычный селектор, все работает, но с «#menu> ul > li:hover» не работает.

2. вы пробовали устанавливать значение css из отладчика, чтобы выяснить, не происходит ли что-то не так? например, в firebug или в консоли chrome:

3. другая проблема заключается в том, что у меня есть # menu> ul> li: наведите курсор> таблица с другим селектором.

Ответ №2:

хорошо, тогда простое решение:

 $('#menu > ul > li > a, #menu > ul > li > div').data('bg', '#'   hex);
  

затем

 $('#menu > ul > li > a').hover(function(){
     $(this).css('background', $(this).data('bg'));
}, function(){
     void(0);
})
  

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

 var currBG;
$('#menu > ul > li > a').hover(function(){
    currBG = $(this).css('background');
    $(this).css('background', $(this).data('bg'));
}, function(){
    $(this).css('background', currBG);
})
  

Вы можете немного настроить его в соответствии с вашими потребностями

Комментарии:

1. но мне также нужны элементы наведения!

2. другая проблема заключается в том, что у меня есть #menu> ul> li: наведите курсор > на таблицу с #menu> ul > li > селектором div. когда я выбираю цвет для #menu> ul> li> div и #menu> ul> li как выбор в css #menu> ul> li: наведение> a не работает должным образом.

3. Я не думаю, что li:hover это допустимый селектор jQuery, вы должны найти способ обойти это.