2016-09-06 2 views
-1

Я работаю над веб-сайтом, на котором есть кнопка, показывающая меню при нажатии. Я пытаюсь заставить его менять цвет при активном, но toggleClass не меняет цвет фона при нажатии кнопки. Вот код, который я использую.jQuery toggleClass не работает

$(".services-btn").click(function() { 
 
    $(this).toggleClass("active-btn"); 
 
});
div.services-btn { 
 
    background-color: black; 
 
    color: #f9f9f9; 
 
    cursor: pointer; 
 
    float: left; 
 
    margin: 10px; 
 
    padding: 15px 0; 
 
    text-align: center; 
 
    width: 80px; 
 
} 
 
.active-btn { 
 
    background-color: darkred; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="services-btn mobile">Services</div>

+0

Является ли 'active-btn' классом? CSS имеет правило для '.active-btn'. – Li357

+1

, потому что вы переключите класс, который не имеет стиля .. он должен быть 'active-btn' not' active' – guradio

ответ

0

Изменения CSS для этого

div.services-btn { 
    background-color: black; 
    color: #f9f9f9; 
    cursor: pointer; 
    float: left; 
    margin: 10px; 
    padding: 15px 0; 
    text-align: center; 
    width: 80px; 
} 

div.services-btn.active { 
    background-color: darkred; 
} 

Это потому, что в вашем JQuery вашего класса добавить .active, не .active-btn, как вы набираете на свой код на CSS. Вы также можете изменить класс добавления jQuery в .active-btn и не менять свой CSS, и он тоже работает правильно.

+0

Извините, я хотел изменить это, когда я вводил вопрос. В настоящее время он установлен в '$ (this) .toggleClass (" active-btn ");', но все равно не работает. –

+1

Можете ли вы поставить скрипку? –

+0

Я не уверен, как поделиться им, но это под заголовком «jQuery toggleClass StackOverflow» –

0

Включите активный класс .service-btn и создайте стиль для своего активного класса с помощью css.

.services-btn { 
    background-color: black; 
    color: #f9f9f9; 
    cursor: pointer; 
    float: left; 
    margin: 10px; 
    padding: 15px 0; 
    text-align: center; 
    width: 80px; 
} 

.services-btn.active { 
    background-color: darkred; 
} 

Ваш jquery is worng. $(this.toggleClass("active-btn") должно быть меню или что-то еще, что вы хотите переключить.

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