#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, вы должны найти способ обойти это.