我已經寫了一些jQuery代碼,可以完成我正在尋找的工作,但對於jQuery來說相當新穎,我只是很好奇,想知道是否有更簡單的方法可以去做。它的基本功能是隱藏和顯示點擊事件的div。在jQuery代碼中簡化隱藏並顯示div
我試着玩過幾個不同的想法,但這似乎是我能得到我想要發生的點擊事件的唯一途徑。
下面的標記。
$('#facebook-icon').click(function() {
$('#facebook-callout, .hero-callout').fadeToggle();
$('#twitter-icon, #linked-icon').toggleClass('z-index-neg');
});
$('#twitter-icon').click(function() {
$('#twitter-callout, .hero-callout').fadeToggle();
$('#facebook-icon, #linked-icon').toggleClass('z-index-neg');
});
$('#linked-icon').click(function() {
$('#linked-callout, .hero-callout').fadeToggle();
$('#facebook-icon, #twitter-icon').toggleClass('z-index-neg');
});
$('.close').click(function() {
$(this).closest('div').fadeOut('slow');
$('.hero-callout').fadeIn('slow');
$('.social-icon').removeClass('z-index-neg');
});
a {
text-decoration: none;
}
.hero-wrapper {
position: relative;
}
.hero-callout {
position: relative;
height: 300px;
text-align: center;
margin-top: 150px;
}
.close {
font-size: 25px;
color: #151515;
position: absolute;
right: 0;
top: -30px;
cursor: pointer;
}
.social-callout {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
display: none;
}
.social-heading {
color: #151515;
font-size: 45px;
text-transform: none;
position: relative;
}
.z-index-neg {
z-index: -1;
opacity: 0 !important;
-webkit-transition: .5s;
transition: .5s;
}
.social-heading:after {
content: "";
background: #151515;
height: 3px;
width: 0;
display: block;
margin: 0 auto;
-webkit-transition: width .5s;
transition: width .5s;
}
.social-heading:hover:after {
width: 100%;
-webkit-transition: width .5s;
transition: width .5s;
}
#social-icons {
position: absolute;
bottom: 0;
left: 0;
right: 0;
margin-left: auto;
margin-right: auto;
text-align: center;
}
.social-icon {
position: relative;
color: #151515;
font-size: 18px;
opacity: 1;
-webkit-transition: .5s;
transition: .5s;
cursor: pointer;
display: inline-block;
padding: 0 10px;
}
.icons:hover {
opacity: 0.5;
-webkit-transition: .3s;
transition: .3s;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="hero-wrapper">
<div class="hero-callout">
<h2>
Hello World
</h2>
</div>
<div class="social-callout" id="facebook-callout">
<a href="#">
<h2 class="social-heading">Facebook.</h2>
</a>
<span class="close">X</span>
</div>
<div class="social-callout" id="twitter-callout">
<a href="#">
<h2 class="social-heading">Twitter.</h2>
</a>
<span class="close">X</span>
</div>
<div class="social-callout" id="linked-callout">
<a href="#">
<h2 class="social-heading">Linked In.</h2>
</a>
<span class="close">X</span>
</div>
<div id="social-icons">
<span class="social-icon" id="facebook-icon">Facebook</span>
<span class="social-icon" id="twitter-icon">Twitter</span>
<span class="social-icon" id="linked-icon">Linked In</span>
</div>
</div>
謝謝你們
這是非常完美的,非常感謝你解釋如何去做這件事。從來沒有真正使用過數據屬性,但現在會更頻繁地使用它們,因爲現在我知道它們是如何工作的。 – rufus