Я пытаюсь сказать, если body
имеет класс x для добавления x класса.hasClass не работает, когда страница обновляется
Javascript
$('body').toggleClass('projectLoaded');
$('[data-type="projectLoader"]').click(function() {
var proj = $(this)[0].getAttribute('data-project');
$('#arrow-nav').addClass('slideIn');
updateHash(proj);
return false;
});
$('[data-type="projectDie"]').click(function() {
$('body').removeClass('projectLoaded');
$('#arrow-nav').removeClass('slideIn');
return false;
});
if ($('body').hasClass('projectLoaded')) {
$('#arrow-nav').addClass('slideIn');
} else {
$('#arrow-nav').removeClass('slideIn');
}
Когда projectLoaded
срабатывает, то addClass
делает работу slideIn
, но когда я обновить, даже если projectLoaded
активен, addClass
исчезает. Я думал, что hasClass
будет работать, но это не так. Все работает, но просто обновляется, и оно исчезает.
Рабочая страница here, щелкните проект, и вы будете #arrow-nav.slideIn
, но обновите и не получите .slideIn
.
UPDATE Это то, что работает для меня:
$('document').ready(function() {
if ($('body').hasClass('projectLoaded')) {
$('#arrow-nav').addClass('slideIn');
} else {
$('#arrow-nav').removeClass('slideIn');
}
});
или
$('body.projectLoaded').ready(function() {
$('#arrow-nav').addClass('slideIn');
});
Если это не является правильным или есть более эффективный способ сделать это, пожалуйста, представить его ниже.
Вы пробовали поместить код внутри функции document.ready()? – ssilas777
Можете ли вы показать нам какой-то рабочий код, чтобы его было легче отлаживать. – Shrabanee
Некоторые HTML, некоторые HTML, мое королевство для некоторых HTML! – Jhecht