当我点击每个导航元素时,我想让我的部分(内容1~4)交换。

时间:2015-04-21 09:24:25

标签: javascript html css

Fisrt,我想在我打开网站时让Home内容有效。 其他内容应该隐藏,其中每个内容应该与导航元素链接。因此,当我单击元素时,它应该将内容与匹配的内容交换。如果我需要使用javascript,请告诉我。 欢迎评论家:)和谢谢。



@font-face {
	 font-family: font1;
	 src: url('fonts/CaviarDreams.woff');
}
#wrapper {
	margin:0 auto;
	background: white;
	border:1px solid black;
	max-width: 1060px;
}

header {
	max-width: 1060px;
	width: 100%;
	height: 76px;
	top: 0;
	left: 0;	
	border:1px solid black;
}

#logo {
	margin-top: 37px;
	margin-left: 10px;
	float: left;
	width: 160px;
	height: 30px;
	background: url(logo6.png) no-repeat center;
	display: block;
	
}
	
nav {
	float: right;
	margin-top: 27px;
	margin-right: 10px;
	}
	
nav ul {
	list-style: none;
	}
	
nav ul li {
	display: inline-block;
	float: left;
	font-family: font1; 
	font-size: 15px;
	padding: 10px;
	text-decoration: none;
	cursor: pointer;
}

nav ul li:hover {
	color: #6F6F6F;
}

#menu {
	display: hidden;
	width: 40px;
	height: 40px;
	background: url(menu-icon.png) center;
}

#menu:hover {
	background-color: #CBCBCB;
	border-radius: 3px 3px 0 0;
}	

/* MEDIA QUERY */
@media all and (max-width:640px) {
	
	#menu {
		display:inline-block;
		
	}
	nav ul, nav:active ul {
		display: none;
		position: absolute;
		padding: 10px;
		background: #fff;
		border: 3px solid #CBCBCB;
		right: 18px;
		top: 57px;
		width: 30%;
		border-radius: 3px 0 3px 3px;
		z-index: 200;
	}
	nav ul li {
		text-align: center;
		width: 100%;
		margin: 0 auto;
	}
	
	nav:hover ul {
		display: block;
	}
}
#swap{
	margin: 40px auto 40px;
	max-width: 980px;
	position: relative;
	padding: 20px;
	border: 1px solid black;
	z-index:100;
	overflow: hidden;
}

#sns {
	text-align: center;
}
#sns li{
	display: inline-block;
	margin-right: 10px;
}

#copyright li{
	font-family: inherit;
	font-size: 13px;
	text-align: center;	
	list-style: none;
}

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<link rel="stylesheet" href="GalleryResStyle.css">  
</head>
<body>
	<div id="wrapper">
		<header class="header-site" role="banner">
			<a href="#" id="logo"></a>
			<nav>
				<a href="#" id="menu"></a>
				<ul>
					<li>
						Home
					</li>
					<li>
						Profile	
					</li>
					<li>
						Gallery
					</li>
					<li>
						Contact
					</li>
				</ul>
			</nav>
		</header>
		<div id="swap">
			<div id="Home_contents">Home contents</div>
			<div id="Profile_contents">Profile contents</div>
			<div id="Gallery_contents">Gallery Contents</div>
			<div id="Contact_contents">Contact contents</div>
		</div>
		<footer>
			<div id="sns">
			<li>
				<a class="Facebook-icon" href=""><img src="FACEBOOK.png"></a>
			</li>
			<li>
				<a class="instagram-icon" href=""><img src="INSTAGRAM.png"></a>
			</li>
			</div>
			<div id="copyright">
				<li> COPYRIGHT © 2015 INKYU PARK.<br>ALL RIGHTS RESERVED. </li>
			</div>
		</footer>
	</div>
</body>
</html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

您需要使用某种脚本(或者仅使用4个原始html页面)。

我建议使用bootstrap,如果你是一个javascript新手,这很简单。

<div class="container">
<div role="tabpanel">

  <!-- Nav tabs -->
  <ul class="nav nav-tabs" role="tablist">
    <li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a></li>
    <li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">Profile</a></li>
    <li role="presentation"><a href="#gallery" aria-controls="gallery" role="tab" data-toggle="tab">Gallery</a></li>
    <li role="presentation"><a href="#contact" aria-controls="contact" role="tab" data-toggle="tab">Contact</a></li>
  </ul>

  <!-- Tab panes -->
  <div class="tab-content">
    <div role="tabpanel" class="tab-pane active" id="home">Home</div>
    <div role="tabpanel" class="tab-pane" id="profile">Profile</div>
    <div role="tabpanel" class="tab-pane" id="gallery">Gallery</div>
    <div role="tabpanel" class="tab-pane" id="contact">Contact</div>
  </div>

</div>

上方是getbootstrap.com,是here

答案 1 :(得分:0)

是的,你需要JavaScript(其他语言可以做到这一点,但我知道这是最简单的)

例如,您可以将HTML更改为(为了清晰起见而略微简化):

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
    <link rel="stylesheet" href="./test.css">
    <!-- Must have this line first, to enable functions in test.js -->
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <!-- Here you get the hide/show functions -->
    <script type="text/javascript" src="./test.js"></script>
</head>
<body>
    <div id="wrapper">
        <header class="header-site" role="banner">
            <a href="#" id="logo"></a>
            <nav>
                <a href="#" id="menu"></a>
                <ul>
                    <li class=showhome>Home</li>
                    <li class=showProfile>Profile</li>
                    <li class=showGallery>Gallery</li>
                    <li class=showContact>Contact</li>
                </ul>
            </nav>
        </header>
        <div id="swap">
            <div id="Home_contents"    class=home    >Home contents</div>
            <div id="Profile_contents" class=Profile >Profile contents</div>
            <div id="Gallery_contents" class=Gallery >Gallery Contents</div>
            <div id="Contact_contents" class=Contact >Contact contents</div>
        </div>
    </div>
</body>
</html>

因此您可以使用类来定义您单击的区域以及隐藏/显示哪个区域

然后使用带有.ready函数的js文件(在我的示例中,将test.js另存为与HTML相同的文件夹中:

$(document).ready(function(){
    $(".showhome").click(function(){
        $(".home").show();
        $(".Profile").hide();
        $(".Gallery").hide();
        $(".Contact").hide();
    });
    $(".showProfile").click(function(){
        $(".home").hide();
        $(".Profile").show();
        $(".Gallery").hide();
        $(".Contact").hide();
    });
    $(".showGallery").click(function(){
        $(".home").hide();
        $(".Profile").hide();
        $(".Gallery").show();
        $(".Contact").hide();
    });
    $(".showContact").click(function(){
        $(".home").hide();
        $(".Profile").hide();
        $(".Gallery").hide();
        $(".Contact").show();
    });
    // Hide all and show home on page loading
    $(".home").show();
    $(".Profile").hide();
    $(".Gallery").hide();
    $(".Contact").hide();
});

对于更清洁的功能,您也可以使用$(".home").toggle();之类的东西,它会切换状态(如果显示它会隐藏,反之亦然)。但我现在没看到:)