0
基本的に、ユーザーがボタンをクリックするたびにページを消すべきJavaScriptがあります。しかし、それは何らかの理由で働いていません。また、divのどこかをクリックするとフェードアウトすることになっています。何が間違っているかについてのアイデア?すべてのコンテンツ要素のボタンが押されたときにdivがフェードインしない
//Menu
function expand(){
$(this).toggleClass("on");
$(".menu").toggleClass("active");
};
$(".button").on('click', expand);
//Page transition
$(function() {
$('#about').click(function() {
var bodyContent = $('#aboutContent')
bodyContent.fadeIn(400);
bodyContent.click(function(e) {
if($(e.target).hasClass('fa-times')) {
$(this).fadeOut(400);
} else if(!$(e.target).hasClass('fa')) {
$(this).fadeOut(400);
}
})
});
$('#projects').click(function() {
var bodyContent = $('#projectsContent')
bodyContent.fadeIn(400);
bodyContent.click(function(e) {
if($(e.target).hasClass('fa-times')) {
$(this).fadeOut(400);
} else if(!$(e.target).hasClass('fa')) {
$(this).fadeOut(400);
}
})
});
$('#contact').click(function() {
var bodyContent = $('#contactContent')
bodyContent.fadeIn(400);
bodyContent.click(function(e) {
if($(e.target).hasClass('fa-times')) {
$(this).fadeOut(400);
} else if(!$(e.target).hasClass('fa')) {
$(this).fadeOut(400);
}
})
});
});
body {
background-color: black;
font-family: "Source Sans Pro", sans-serif;
color: #ccc;
z-index: -100;
background-color:black;
overflow: hidden;
}
#aboutContent {
width: 100%;
height: 100%;
background-color: #393939;
z-index: 1000;
}
#projectsContent {
width: 100%;
height: 100%;
background-color: #393939;
z-index: 100;
}
#contactContent {
width: 100%;
height: 100%;
background-color: #393939;
z-index: 100;
}
.menu {
position: absolute;
top: 0;
left: 0;
bottom: 0;
padding: 0;
overflow: hidden;
background: rgba(25, 25, 25, .5);
width: 18%;
box-sizing: border-box;
transition: all 250ms;
-webkit-transform: translateZ(0) translateX(-100%);
transform: translateZ(0) translateX(-100%);
text-align:center;
box-shadow: 0 0 20px #000000;
}
.active {
transform: translateZ(0) translateX(0);
transform: translateZ(0) translateX(0);
-webkit-transition: 0.4s;
transition: 0.4s;
}
h1 {
margin-top:60%;
font-size: 2.5em;
cursor: default;
}
ul {
padding:0;
list-style:none;
font-size:14px;
}
li {
padding:10px 10px;
}
a {
text-decoration:none;
padding:10px 15px;
color:#fff;
font-family:"Roboto";
font-size: 1.5em;
font-weight: 300;
}
a:hover {
text-decoration: line-through;
color: aqua;
}
.content {
position:relative;
width:300px;
}
.button {
width:50px;
height:50px;
margin:24% 36%;
padding: 10px;
cursor:pointer;
}
.line {
\t width: 40px;
\t height: 2px;
background-color:#fff;
\t transition: transform 0.3s ease, background 0.3s ease, opacity 0.3s ease, top 0.3s ease;
}
.line.first {
transform: translateX(-10px) translateY(22px) rotate(-90deg);
}
.line.second {
transform: translateX(-10px) translateY(19px) rotate(0deg);
}
.button.on .line.top {
\t width: 40px;
\t transform: translateX(-10px) translateY(20px) rotate(45deg);
}
.button.on .line.bottom {
\t width: 40px;
\t transform: translateX(-10px) translateY(17px)rotate(-45deg);
}
@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|Raleway" rel="stylesheet">
<link rel='stylesheet prefetch' href='http://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css'>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<div id="wrapper">
<div class="menu">
<h1>AL-SABA</h1>
<ul>
<div id="home"><li><a href="#home"><i class="fa fa-home"></i> home</a></li></div>
<div id="about"><li><a href="#about"><i class="fa fa-user"></i> about</a></li></div>
<div id="projects"><li><a href="#projects"><i class="fa fa-code"></i> projects</a></li></div>
<div id="contact"><li><a href="#contact"><i class="fa fa-paper-plane"></i> contact</a></li></div>
</ul>
</div>
<div class="content">
<div class="button">
<div class="line first top"></div>
<div class="line second bottom"></div>
</div>
</div>
<div id="aboutContent">
</div>
<div id="projectsContent">
</div>
<div id="contactContent">
</div>
</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/transition.js"></script>
<script type="text/javascript" src="js/background.js"></script>
</body>
</html>
だから私は、各ボタンに別々の機能を持っている必要がありますか? –
@OpticLukieは必要ではありませんが、fadingInとfadingOutの両方に1つの関数しか使用できません。イベントの委譲については、https://learn.jquery.com/events/event-delegation/ – Oskar
を参照してください。これはうまくいきますが、設定したいと思います設定されたサイズの代わりに幅と高さを100%に設定します。 –