所以当按下按钮时,我有一个淡入的页面,页面上有3个字体真棒图标。当你点击页面上的任何地方时,它会淡出页面。当您单击页面上的字体很棒的图标时,它会转到另一个页面。但问题是当您单击按钮时页面会淡出。我希望它只在你点击任何地方时淡出,除了字体 - 真棒图标。
$(function() {
$('#fadeContent').click(function(){
var bodyContent = $('#bodyContent')
bodyContent.fadeIn(400);
bodyContent.click(function() {
$(this).fadeOut(400);
})
});
});
body {
background-color: black;
font-family: "Source Sans Pro", sans-serif;
color: #ccc;
z-index: -100;
background-color:black;
}
#bodyContent{
display:none;
position:absolute;
text-align: center;
color: white;
width:100%;
height:100%;
background:#454545;
z-index: 100;
}
.fa-times{
position: absolute;
top: 0px;
right: 0px;
font-size: 3em;
margin-right: 2%;
margin-top: 1.5%;
}
.fa-twitter,
.fa-github,
.fa-steam {
display: inline-block;
position: relative;
color: white;
border-radius: 100px;
font-size: 3.5em;
padding: .5em;
border: 5px solid white;
margin-top: 20%;
margin-left: 1.5%;
margin-right: 1.5%;
}
.fa-times:hover {
color: #f06262;
cursor: pointer;
}
.fa-twitter:hover,
.fa-github:hover,
.fa-steam:hover {
background-color: #1dd2e2;
cursor: pointer;
}
.home {
position: absolute;
width: 16%;
background-color: transparent;
border: 2px solid #FFF;
margin-top: 12%;
margin-left: 20%;
height: 3em;
color: #FFF;
font-size: 1em;
cursor: pointer;
text-transform: uppercase;
border-radius: 4px;
animation: fadein 2s;
-moz-animation: fadein 2s; /* Firefox */
-webkit-animation: fadein 2s; /* Safari and Chrome */
}
.about {
position: absolute;
width: 16%;
background-color: transparent;
border: 2px solid #FFF;
margin-top: 12%;
margin-left: 37%;
height: 3em;
color: #FFF;
font-size: 1em;
cursor: pointer;
text-transform: uppercase;
border-radius: 4px;
animation: fadein 2s;
-moz-animation: fadein 2s; /* Firefox */
-webkit-animation: fadein 2s; /* Safari and Chrome */
}
.projects {
position: absolute;
width: 16%;
background-color: transparent;
border: 2px solid #FFF;
margin-top: 12%;
margin-left: 54%;
height: 3em;
color: #FFF;
font-size: 1em;
cursor: pointer;
text-transform: uppercase;
border-radius: 4px;
animation: fadein 2s;
-moz-animation: fadein 2s; /* Firefox */
-webkit-animation: fadein 2s; /* Safari and Chrome */
}
.contact {
position: absolute;
width: 16%;
background-color: transparent;
border: 2px solid #FFF;
margin-top: 12%;
margin-left: 71%;
height: 3em;
color: #FFF;
font-size: 1em;
cursor: pointer;
text-transform: uppercase;
border-radius: 4px;
animation: fadein 2s;
-moz-animation: fadein 2s; /* Firefox */
-webkit-animation: fadein 2s; /* Safari and Chrome */
}
.home:hover {
color: #1dd2e2;
border: 3px solid #18bdef;
font-weight: bold;
}
.about:hover {
color: #1dd2e2;
border: 3px solid #18bdef;
font-weight: bold;
}
.projects:hover {
color: #1dd2e2;
border: 3px solid #18bdef;
font-weight: bold;
}
.contact:hover {
color: #1dd2e2;
border: 3px solid #18bdef;
font-weight: bold;
}
@keyframes fadein {
from {
opacity:0;
}
to {
opacity:1;
}
}
@-webkit-keyframes fadein { /* Safari and Chrome */
from {
opacity:0;
}
to {
opacity:1;
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Home</title>
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro|Play" rel="stylesheet">
<link rel='stylesheet prefetch' href='http://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css'>
<link rel='stylesheet prefetch' href='http://rawgit.com/fralec/elegantShareJS/master/css/elegant.css'>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<button class="home">Home</button>
<button class="about">About</button>
<button class="projects">Projects</button>
<button id="fadeContent" class="contact">Contact</button>
<div id="bodyContent">
<i class="fa fa-times" aria-hidden="true"></i>
<a href="https://twitter.com/LukielD" target="_blank"><i class="fa fa-twitter" aria-hidden="true"></i></a>
<a href="https://github.com/LukieID" target="_blank"><i class="fa fa-github" aria-hidden="true"></i></a>
<a href="steamcommunity.com/id/LukieID" target="_blank"><i class="fa fa-steam" aria-hidden="true"></i></a>
</div>
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script src='http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js'></script>
<script type="text/javascript" src="js/elegant.js"></script>
<script type="text/javascript" src="js/transition.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript" src="js/background.js"></script>
</body>
</html>
答案 0 :(得分:1)
检查点击的元素是否具有字体真棒类。如果没有,请做淡化:
bodyContent.click(function(e) {
if(!$(e.target).hasClass('fa')) {
$(this).fadeOut(400);
}
})
<强>段:强>
$(function() {
$('#fadeContent').click(function() {
var bodyContent = $('#bodyContent')
bodyContent.fadeIn(400);
bodyContent.click(function(e) {
if(!$(e.target).hasClass('fa')) {
$(this).fadeOut(400);
}
})
});
});
&#13;
body {
background-color: black;
font-family: "Source Sans Pro", sans-serif;
color: #ccc;
z-index: -100;
background-color:black;
}
#bodyContent{
display:none;
position:absolute;
text-align: center;
color: white;
width:100%;
height:100%;
background:#454545;
z-index: 100;
}
.fa-times{
position: absolute;
top: 0px;
right: 0px;
font-size: 3em;
margin-right: 2%;
margin-top: 1.5%;
}
.fa-twitter,
.fa-github,
.fa-steam {
display: inline-block;
position: relative;
color: white;
border-radius: 100px;
font-size: 3.5em;
padding: .5em;
border: 5px solid white;
margin-top: 20%;
margin-left: 1.5%;
margin-right: 1.5%;
}
.fa-times:hover {
color: #f06262;
cursor: pointer;
}
.fa-twitter:hover,
.fa-github:hover,
.fa-steam:hover {
background-color: #1dd2e2;
cursor: pointer;
}
.home {
position: absolute;
width: 16%;
background-color: transparent;
border: 2px solid #FFF;
margin-top: 12%;
margin-left: 20%;
height: 3em;
color: #FFF;
font-size: 1em;
cursor: pointer;
text-transform: uppercase;
border-radius: 4px;
animation: fadein 2s;
-moz-animation: fadein 2s; /* Firefox */
-webkit-animation: fadein 2s; /* Safari and Chrome */
}
.about {
position: absolute;
width: 16%;
background-color: transparent;
border: 2px solid #FFF;
margin-top: 12%;
margin-left: 37%;
height: 3em;
color: #FFF;
font-size: 1em;
cursor: pointer;
text-transform: uppercase;
border-radius: 4px;
animation: fadein 2s;
-moz-animation: fadein 2s; /* Firefox */
-webkit-animation: fadein 2s; /* Safari and Chrome */
}
.projects {
position: absolute;
width: 16%;
background-color: transparent;
border: 2px solid #FFF;
margin-top: 12%;
margin-left: 54%;
height: 3em;
color: #FFF;
font-size: 1em;
cursor: pointer;
text-transform: uppercase;
border-radius: 4px;
animation: fadein 2s;
-moz-animation: fadein 2s; /* Firefox */
-webkit-animation: fadein 2s; /* Safari and Chrome */
}
.contact {
position: absolute;
width: 16%;
background-color: transparent;
border: 2px solid #FFF;
margin-top: 12%;
margin-left: 71%;
height: 3em;
color: #FFF;
font-size: 1em;
cursor: pointer;
text-transform: uppercase;
border-radius: 4px;
animation: fadein 2s;
-moz-animation: fadein 2s; /* Firefox */
-webkit-animation: fadein 2s; /* Safari and Chrome */
}
.home:hover {
color: #1dd2e2;
border: 3px solid #18bdef;
font-weight: bold;
}
.about:hover {
color: #1dd2e2;
border: 3px solid #18bdef;
font-weight: bold;
}
.projects:hover {
color: #1dd2e2;
border: 3px solid #18bdef;
font-weight: bold;
}
.contact:hover {
color: #1dd2e2;
border: 3px solid #18bdef;
font-weight: bold;
}
@keyframes fadein {
from {
opacity:0;
}
to {
opacity:1;
}
}
@-webkit-keyframes fadein { /* Safari and Chrome */
from {
opacity:0;
}
to {
opacity:1;
}
}
&#13;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Home</title>
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro|Play" rel="stylesheet">
<link rel='stylesheet prefetch' href='http://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css'>
<link rel='stylesheet prefetch' href='http://rawgit.com/fralec/elegantShareJS/master/css/elegant.css'>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<button class="home">Home</button>
<button class="about">About</button>
<button class="projects">Projects</button>
<button id="fadeContent" class="contact">Contact</button>
<div id="bodyContent">
<i class="fa fa-times" aria-hidden="true"></i>
<a href="https://twitter.com/LukielD" target="_blank"><i class="fa fa-twitter" aria-hidden="true"></i></a>
<a href="https://github.com/LukieID" target="_blank"><i class="fa fa-github" aria-hidden="true"></i></a>
<a href="steamcommunity.com/id/LukieID" target="_blank"><i class="fa fa-steam" aria-hidden="true"></i></a>
</div>
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script src='http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js'></script>
<script type="text/javascript" src="js/elegant.js"></script>
<script type="text/javascript" src="js/transition.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript" src="js/background.js"></script>
</body>
</html>
&#13;
答案 1 :(得分:0)
您应该在每个图标上注册click事件,并通过调用stopPropagation方法取消进一步的事件处理。
Exsample:
$(".fa").click(function(e) {
e.stopPropagation();
})