2015-01-12 4 views
0

Я думаю, что мой код в порядке, но я не могу заставить jQuery переключать классы. Вот отрывок из моего кода:Не могу получить мой класс для переключения

 $("#activity").hover(function() { 
    $(this).toggleClass("activitymouseover"); 
}); 

< http://jsfiddle.net/0gd6yeyj/ - Полный код здесь

Я использую источник сценария:
SRC = "// code.jquery.com/jquery- latest.js».

У меня нет изменений в классе при зависании. Я также пробовал addClass и removeClass, который тоже не работает. Когда toggleClass изменен на другой метод, например .hide(); Код работает нормально?

+0

Это должно работать. Не могли бы вы разместить любые соответствующие html/css? Может быть, при наведении элемент меняется таким образом, что он теряет зависание и автоматически срабатывает снова. –

+0

Ваш код работает нормально. Вы можете проверить это, изменив фоновый цвет либо #activity, либо .activitymouseover –

ответ

0

Проблема в том, что toggleClass удаляет и добавляет больше классов, и вы используете id="activity". Вместо идентификатора использования класса, проверить это:

$(".activity").hover(function() { 
 
    $(this).toggleClass("activitymouseover"); 
 
});
.activity { 
 
    width:980px; 
 
    height:177px; 
 
    color: #DCDCDC; 
 
    background-color: #E8D700; 
 
    text-align: center; 
 
    font-size: 64px; 
 
} 
 
.activitymouseover { 
 
    width:980px; 
 
    height:177px; 
 
    color: white; 
 
    background-color: #E8D700; 
 
    text-align: center; 
 
    font-size: 64px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="activity"> 
 
    <div id="centeringdiv3"> 
 
     <h4>Activity</h4> 
 
    </div> 
 
</div>

+0

Это работает! здорово. Я думал, что уже пробовал это. Спасибо. –

-1

Я хотел бы предложить вместо того, чтобы использовать JQuery, чтобы просто использовать обычный старый CSS :hover:

#activity:hover { 
    width:980px; 
    height:177px; 
    color: white; 
    background-color: #E8D700; 
    text-align: center; 
    font-size: 64px; 
} 

См скрипку здесь: http://jsfiddle.net/0gd6yeyj/1/

+0

Спасибо за ваш ответ. Это прекрасно. Хотя, я стараюсь оставаться организованным, сохраняя все динамические эффекты в коде jQuery. –

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