2016-03-30 3 views
1

У меня есть кнопка белого меню, которая имеет фиксированное положение. У меня есть раздел на моем сайте, который имеет белый цвет фона. Мои цели состоят в том, что когда кнопка меню прокручивается над белой секцией, она становится черной, а не белой.jQuery определить цвет фона фиксированного элемента

Я просто не знаю, как я могу определить цвет фона моего фиксированного элемента? Возможно ли это?

вот что мой JQuery выглядит следующим образом:

$color = how to detect bg color?; 

if ($color == "#fff"){ 
    $("nav-icon2").css("color", "#000"); 
}else{ 
    $("nav-icon2").css("color", "#fff"); 
} 
+0

Возможный дубликат [Как установить цвет фона в JQuery] (http://stackoverflow.com/questions/4780670/how-to-set-background-color-in-jquery) – geeksal

ответ

0

просто!

var $color = $('nav-icon2').css('background-color'); 
0

Вы можете сделать это с помощью:

$color = $("your-element").css("backgroundColor"); 
2

Вот рабочая скрипку на основе этого решения: How to get the background color code of an element?

See this fiddle

var color = ''; 
var x = $(".nav-icon2").css('backgroundColor'); 
hexc(x); 
alert(color); 

function hexc(colorval) { 
    var parts = colorval.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); 
    delete(parts[0]); 
    for (var i = 1; i <= 3; ++i) { 
     parts[i] = parseInt(parts[i]).toString(16); 
     if (parts[i].length == 1) parts[i] = '0' + parts[i]; 
    } 
    color = '#' + parts.join(''); 
} 

EDIT:

Если я правильно понимаю ваш вопрос, вы этого хочет:

See this updated fiddle

$(window).scroll(function(){ 
    if($(window).scrollTop() > 350){ 
    $("h2").css('color','#f00'); 
    }else{ 
     $("h2").css('color','#fff'); 
    } 
}); 
+0

По какой-то причине я получаю «Uncaught TypeError: не могу прочитать соответствие свойства« undefined »в моей консоли –

+0

Это правильный ответ, связанный с вопросом OP, потому что пользователь ** сравнивает значение с # fff **, поэтому необходимо регулярное выражение. +1 (также, еще одно редактирование должно состоять в том, что в этом случае пользователю нужно сравнить его с #ffffff) – briosheje

+0

@VincentG Могу ли я сделать то же самое в jQuery? –

Смежные вопросы