Я пытаюсь понять методы click() и toggle(), но когда я пытаюсь их реализовать, он, кажется, "отключает" выбранный класс с моей страницы и запускает код. Поскольку исходный класс удаляется с моей страницы, я не могу нажать() снова, чтобы переключить().
Любая идея, что я делаю неправильно? Я много раз искал это и пробовал разные примеры кода, и все, похоже, давали мне тот же эффект "зачистки", как кажется, чтобы очистить мой класс от страницы и влево. Также есть различные случаи, которые мне нужны для использования идентификаторов, поэтому я не могу использовать методы addClass() removeClass().
Вот мой код (я оставил CSS, потому что легче увидеть эффект "снятия", который я имею в виду, когда есть фон, а не только текст):
<!DOCTYPE html>
<html>
<script src="/jquery.js"></script>
<head>
<title>Header</title>
<style>
body {
background: black;
color: white;
}
div {
background: blue;
}
.adventure{
position: absolute;
top: 22px;
left: 0px;
}
.solarSystem{
position: absolute;
top: 44px;
left: 0px;
}
</style>
</head>
<body>
<div class="adventure">Choose Own Adventure</div>
<div class="solarSystem">Solar System</div>
</body>
<script>
$(".adventure").click(
function(){
$('.adventure').toggle(function () {
$(".solarSystem").css({top: "150px"});
}, function () {
$(".solarSystem").css({top: "250px"});
});
});
</script>
</body>
</html>
Любая помощь очень ценится, так как я потратил слишком много времени на устранение этой проблемы, не повезло. :( Благодарю!
Помещение функции toggle()
внутри функции click()
вероятно, не делает то, что вы думаете, и эта версия toggle()
удаляется в более новых версиях jQuery
Вы можете просто создать свою собственную функцию переключения
$(".adventure").on('click', function(){
var flag = $(this).data('flag');
$(".solarSystem").css({top: (flag ? "250px" : "150px")});
$(this).data('flag', !flag);
});
Может, попробуй что-нибудь вроде этого?
<Style>
.big-top {top:250px;}
.little-top {top:2150px;}
</style>
<script>
<script>
$(document).ready(function(){
$(".adventure").click(
function(){
$(".solarSystem").toggleClass("big-top");
});
$(".solarSystem").click(
function(){
$(".adventure").toggleClass("little-top");
});
});
</script>