[英]Change position of elements on scrolling
我想知道当您滚动到页面中的某个点时如何更改徽标。
这是网站http://jsfiddle.net/zackreid/no7e4yng/的jsfiddle
我感觉这将与JavaScript有关。
我要求这样做的原因是,当您滚动到某个点时,徽标会与背景融合在一起。 您所看到的实际上不是徽标/背景,而仅仅是链接断开时的占位符。
您仍然可以找到暂时被注释掉的div
的原始名称。
CSS- / *这将重置所有样式* /
* {
hight: 100%;
margin: 0;
padding: 0;
}
/*layout*/
p {
line-height: 1.2em;
margin-bottom: 10px;
}
body {
font-family: 'Open Sans', sans-serif;
}
h1 {
color: ;
font-size: 55px;
font-weight: normal;
margin: 0;
padding: 0;
text-align: center;
}
h2 {
color: ;
font-size: 40px;
font-weight: normal;
margin: 0;
padding: 0;
text-align: center;
}
h3 {
font-size: 22px;
font-style: italic;
font-weight: 400;
margin: 5px 0;
padding: 20px;
position: inherit;
text-align: center;
z-index: 1;
}
/*boards*/
#board_1, #board_2, #boar_3, #board_4 {
width: 100%;
}
.board_1 {
background: url(../img/background_5.png);
background-image: min-height: 750px;
background-repeat: no-repeat;
background-size: 100% 100%;
height: 1020px;
margin: 0 auto;
}
.p
{
color: white;
font-size: 3em;
max-width: 600px;
padding-left: 55%;
padding-top: 28%;
}
.logo
{
position: fixed;
margin-top: -3px;
}
.nav
{
width: 100%;
height: 85px;
background-color: black;
opacity: 0.7;
position: fixed;
margin-top: 0px;
}
.ul
{
color: white;
font-size: 1.5em;
float: right;
padding-top: 30px;
padding-right: 40px;
text-decoration: none;
}
nav ul li
{
display: inline;
margin: 10px;
}
a:link {
color: white;
text-decoration: none;
}
a:hover {
color: white;
opacity: 0.7;
}
a:visited {
color: white;
}
.board_2 {
background-color: white;
color: #333333;
height: 100%;
margin: 0 auto;
max-height: 1000px;
min-height: 1000px;
}
.about
{
font-size: 5em;
padding-top: 7%;
padding-left: 40%;
}
.hi
{
width: 500px;
font-size: 2em;
padding-top: 5%;
padding-left: 60%;
}
.passion
{
width: 500px;
font-size: 2em;
padding-top: 5%;
padding-left: 60%;
}
.board_3 {
background-color: white;
color: #333333;
height: 100%;
margin: 0 auto;
max-height: 1000px;
min-height: 1000px;
}
.work
{
font-size: 5em;
padding-top: 7%;
padding-right: 70%;
}
.selection
{
width: 500px;
font-size: 2em;
padding-top: 10%;
padding-left: 10%;
}
.container
{
overflow-y: auto;
padding-left: 40%;
margin-top: -16%;
}
.container > div
{
margin: 30px;
width: 200px;
height: 200px;
background: blue;
float: left;
color: #fff;
text-align: center;
}
.board_4 {
background-color: black;
color: #333333;
height: 100%;
margin: 0 auto;
max-height: 1000px;
min-height: 400px;
}
.contact
{
color: white;
padding-top: 4%;
}
.social a {
opacity: 0.3;
transition: opacity .25s ease-in-out;
}
.social a:hover {
opacity: 0.8;
}
.social li {
display: inline;
margin: 2px;
color: #444;
}
HTML的
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<!--artical starts here-->
<!--header which holds the nav and title-->
<div class="board_1">
<header id="main_header">
<div class="content">
<nav class="nav">
<ul class="ul">
<li><a href="#board_1" title="Home">Home</a></li>
<li><a href="#board_2" title="About">About</a></li>
<li><a href="#board_3" title="Work">Work</a></li>
<li><a href="#board_4" title="Contact">Contact</a></li>
</ul>
</nav>
</div>
<div class="logo">
<img src="../img/logo_wb_1.png"></a>
</div>
</header>
<div class="p">
<p>Hi, thats me over there. This is a my home well my Internet home, it has everything you want to know about me.</p>
</div>
<!--header ends-->
</div>
<div class="board_2">
<h2 class="about"> About</h2>
<p class="hi">Hi, my name is Zack Reid. I am in first year currently studying Interaction Design at The University Of Ulsture.</p>
<p class="passion">I have a passion for many things which are design, music, drawing, typography, writing, photography, meditation and running. I hope that some day I will be able to say that my work has inspired someone and if I can do that, I will be a happy man.</p>
</div>
<div class="board_3">
<h2 class="work">Work</h2>
<p class="selection">Here is a selection of work I have done for my course and some I have done in my own time.</p>
<div class="container">
<div>Box1</div>
<div>Box2</div>
<div>Box3</div>
<div>Box4</div>
<div>Box5</div>
<div>Box6</div>
<div>Box7</div>
<div>Box8</div>
</div>
</div>
<div class="board_4">
<h2 class="contact">You can contact me below, if you have any questions.</h2>
<div class="social">
<ul>
<li><a href="https://www.flickr.com/photos/117329603@N05/"><img src="" alt="Follow me on Flickr" /></a></li>
<li><a href="#"><img src="images/social-icons/github.svg" alt="Follow me on GitHub" /></a></li>
<li><a href="https://twitter.com/MrZackrox"><img src="images/social-icons/twitter.svg" alt="Follow me on Twitter" /></a></li>
<li><a href="#"><img src="images/social-icons/link.svg" alt="View my website" /></a></li>
<li><a href="#"><img src="images/social-icons/pinterest.svg" alt="Follow me on Pinterest" /></a></li>
<li><a href="#"><img src="images/social-icons/vimeo.svg" alt="Subscribe to my channel on Vimeo" /></a></li>
</ul>
</div>
</div>
</body>
</html>
您可以使用jquery查看滚动位置。
<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<script>
var board_position = $('.board_2').offset().top;
var logo = $('.logo');
$(window).scroll(function () {
var scroll = $(this).scrollTop();
if (scroll >= board_position) {
logo.addClass('logo-highlight');
} else {
logo.removeClass('logo-highlight');
}
});
</script>
在你的CSS
.logo-highlight {
color: #000 !important;
}
您将需要监视页面的滚动位置,并在需要时触发一些JS。
您可以滚动自己的版本,或者如果愿意使用jQuery,则可以使用WayPoint插件或ScrollSpy插件。
如果您对这些关键字进行谷歌搜索,很可能会发现类似
https://github.com/sxalexander/jquery-scrollspy
http://imakewebthings.com/waypoints/
这些插件将提供javascript回调,使您可以在碰到某个路点时运行代码,您的代码将类似于jquery
$(”标志 ')addClass(' 倒颜色)。
然后有一个CSS类,该类具有要应用的新颜色。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.