Я пытаюсь получить набор divs, чтобы исчезать и выходить с помощью jQuery. У меня есть решение, хотя оно кажется очень неуклюжим. Есть ли способ упорядочить мой код? Я довольно новичок в jQuery, поэтому любая помощь очень ценится!JQuery fade divs in и out
HTML:
<a class="button" href="javascript:void(0)" id="onelink">Show Div One</a>
<a class="button" href="javascript:void(0)" id="twolink">Show Div Two</a>
<a class="button" href="javascript:void(0)" id="threelink">Show Div Three</a>
<a class="button" href="javascript:void(0)" id="fourlink">Show Div Four</a>
<div class="content">
<div id="one" class="thing">One</div>
<div id="two" class="thing">Two</div>
<div id="three" class="thing">Three</div>
<div id="four" class="thing">Four</div>
</div>
SCSS:
a.button {
text-decoration: none;
color: #000;
display: inline-block;
padding: 10px;
margin: 20px;
border: 1px solid #000;
@include transition (all 0.2s);
&:hover {
border: 1px solid #dadada;
background-color: #f5f5f5;
}
}
div.thing {
border: 1px solid #BADA55;
background-color: #dadada;
padding: 30px;
text-align: center;
width: 200px;
margin: 20px;
position: absolute;
display: none;
&#one {
display: block;
}
}
Jquery:
$(document).ready(function() {
$("#onelink").click(function() {
$("div#one").fadeIn();
$("div#two, div#three, div#four").fadeOut();
});
$("#twolink").click(function() {
$("div#two").fadeIn();
$("div#one, div#three, div#four").fadeOut();
});
$("#threelink").click(function() {
$("div#three").fadeIn();
$("div#one, div#two, div#four").fadeOut();
});
$("#fourlink").click(function() {
$("div#four").fadeIn();
$("div#one, div#two, div#three").fadeOut();
});
});
Codepen ссылка здесь:
http://codepen.io/mikehdesign/pen/eNpxRQ
Я все еще думал ли с помощью 'href' вместо атрибута данных лучше. Использование 'href' требует' event.preventDefault(); ', но более похоже на то, что делает код. Кстати, '$ (this) .attr ('href')' можно заменить коротким 'this.hash', не так ли? И еще одно: '' Идентификаторы теперь бесполезны, так почему бы не удалить их? – Regent