以下是 jQuery滚动动画插件FadeThis 的示例演示效果:
部分效果截图:
HTML代码(index.html):
<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>jQuery�����������FadeThis</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/gridle.css">
<link rel="stylesheet" href="css/demo.css">
<script src="jquery.min.js"></script>
<script src="jquery.easing.min.js"></script>
<script src="jquery.fadethis.js"></script>
<!--<link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800|Alike' rel='stylesheet' type='text/css'>-->
</head>
<body>
<div class="container">
<section class="main_section">
<h1>Basic usage</h1>
<p>
Add this before the <em>body</em> closing tag: <br>
<code style="display: inline-block;"><script><b>$(window).fadeThis();</b></script></code> <br>
and add one of the following classes to the elements you want to target:
</p>
<section class="container">
<h2>Appear from left</h2>
<div class="grid-10">
<code><div class="<b>slide-left</b>"></div></code>
</div>
<div class="grid-2 box_wrapper">
<div class="box_footprint">
<div id="test" class="slide-left"></div>
</div>
</div>
</section>
<section class="container">
<h2>Appear from right</h2>
<div class="grid-10">
<code><div class="<b>slide-right</b>"></div></code>
</div>
<div class="grid-2 box_wrapper">
<div class="box_footprint">
<div class="slide-right"></div>
</div>
</div>
</section>
<section class="container">
<h2>Appear from top</h2>
<div class="grid-10">
<code><div class="<b>slide-top</b>"></div></code>
</div>
<div class="grid-2 box_wrapper">
<div class="box_footprint">
<div class="slide-top"></div>
</div>
</div>
</section>
<section class="container">
<h2>Appear from bottom</h2>
<div class="grid-10">
<code><div class="<b>slide-bottom</b>"></div></code>
</div>
<div class="grid-2 box_wrapper">
<div class="box_footprint">
<div class="slide-bottom"></div>
</div>
</div>
</section>
</section>
<section class="main_section">
<h1>Advanced usage</h1>
<section class="container">
<h2>Set configuration for the whole page</h2>
<div class="grid-10">
<code>$(window).fadeThis(<b>{speed: 1000}</b>);</code>
<code><div class="slide-left"></div></code>
</div>
<div class="grid-2 box_wrapper">
<div class="box_footprint">
<div class="slide-left"></div>
</div>
</div>
</section>
<section class="container">
<h2>Set configuration per block</h2>
<div class="grid-10">
<code>$(<b>'.block'</b>).fadeThis(<b>{speed: 1000}</b>);</code>
<code><div class="block"><br> <div class="slide-left"></div><br></div></code>
<div class="well container">
<div class="grid-1 icon">
<i class="fa fa-info fa-2x"></i>
</div>
<p class="grid-11">
When defining elements options, the rule is <em>First come, first served</em>. The options set for a block doesn't override previous block options adressing the same elements, or page options. So if you use block options definition, don't use <em>$(window).fadeThis()</em> before!
</p>
</div>
</div>
<div class="grid-2 box_wrapper">
<div class="box_footprint">
<div class="slide-left"></div>
</div>
</div>
</section>
<section class="container">
<h2>Set configuration per element using HTML5 data attributes</h2>
<div class="grid-10">
<code>$(…).fadeThis(…);</code>
<code><div class="slide-right" <b>data-plugin-options='{"speed":200, "distance":400}'</b>></div></code>
<div class="well container">
<div class="grid-1 icon">
<i class="fa fa-info fa-2x"></i>
</div>
<p class="grid-11">
The options set by data attributes override any other options set per block.
</p>
</div>
<div class="well container">
<div class="grid-1 icon">
<i class="fa fa-info fa-2x"></i>
</div>
<p class="grid-11">
Note the position and order of the quotation mark for the data attribute. <br>
For some browsers, reverting this order may cause misunderstanding of the options.
</p>
</div>
</div>
<div class="grid-2 box_wrapper">
<div class="box_footprint">
<div class="slide-right" data-plugin-options='{"speed":200, "distance":400}'></div>
</div>
</div>
</section>
</section>
</div>
<script>
$(document).ready(function() {
$(window).fadeThis({
speed: 1000,
});
});
</script>
</body>
</html>
CSS代码(demo.css):
body{background:url('../img/gplaypattern.png') repeat;font-family:"Open sans",sans-serif;font-size:1em;line-height:1.5;color:#405060;counter-reset:h1titles;}
header{text-align:center;padding:2em;}
header h1{margin:0;font-size:5em;font-family:Alike,sans-serif;}
header h2{text-align:right;margin:0;font-size:1.2em;font-style:normal;font-weight:400;}
a{text-decoration:none;color:inherit;}
a:hover{text-decoration:underline;}
ul{margin-top:0;}
section.main_section{background-color:white;padding:0;margin-bottom:20px;border:1px lightgray solid;counter-increment:my-awesome-counter;}
section.main_section p{padding:15px;}
section section{border-top:1px lightgray solid;padding:15px;}
section p{margin:0;}
section.main_section section p{padding:0;margin:10px 0;}
section h1{font-size:2.5em;margin-bottom:0.5em;padding:0 1em;}
section h1:before{content:counter(my-awesome-counter) ". ";}
section h2{margin:0;font-size:1.2em;font-style:normal;font-weight:500;padding:10px 0;}
.command{border-bottom:solid 1px rgba(250,250,250,0.6);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1);padding:10px 10px 10px 20px;font-size:0.9em;}
.command ul{list-style:none;margin:0;padding:0;}
.command ul li{display:inline-block;padding:0 10px 0 0;}
.cf:before,.cf:after{content:" ";/* 1 */
display:table;/* 2 */
}
.cf:after{clear:both;}
.cf{*zoom:1;}
.box_wrapper{text-align:center;}
.box_footprint{-webkit-box-shadow:inset 1px 1px 5px 0px rgba(50,50,50,0.75);-moz-box-shadow:inset 1px 1px 5px 0px rgba(50,50,50,0.75);box-shadow:inset 1px 1px 5px 0px rgba(50,50,50,0.75);display:inline-block;}
.box_footprint div{height:30px;width:30px;border:1px #666 solid;background-color:gray;}
code{font-style:italic;font-size:1em;font-family:'Open sans',sans-serif;display:block;padding:10px;border:1px lightgray solid;margin:5px 0;color:#606070;}
code.inline{display:inline-block;}
.well{background-color:#eaf7ff;padding:0.8em !important;text-align:justify;margin-top:1em;font-size:0.85em;}
.well .icon{text-align:center;margin-left:-0.5em;}
.well p{margin:0 !important;}
footer{background-color:white;padding:0;margin-bottom:20px;border:1px lightgray solid;counter-increment:my-awesome-counter;font-size:0.8em;}
footer p{padding:10px;margin:0;}
CSS代码(normalize.css):
/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
/** * 1. Set default font family to sans-serif. * 2. Prevent iOS text size adjust after orientation change,without disabling * user zoom. */
html{font-family:sans-serif;/* 1 */
-ms-text-size-adjust:100%;/* 2 */
-webkit-text-size-adjust:100%;/* 2 */
}
/** * Remove default margin. */
body{margin:0;}
/* HTML5 display definitions ========================================================================== */
/** * Correct `block` display not defined for any HTML5 element in IE 8/9. * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. * Correct `block` display not defined for `main` in IE 11. */
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;}
/** * 1. Correct `inline-block` display not defined in IE 8/9. * 2. Normalize vertical alignment of `progress` in Chrome,Firefox,and Opera. */
audio,canvas,progress,video{display:inline-block;/* 1 */
vertical-align:baseline;/* 2 */
}
/** * Prevent modern browsers from displaying `audio` without controls. * Remove excess height in iOS 5 devices. */
audio:not([controls]){display:none;height:0;}
/** * Address `[hidden]` styling not present in IE 8/9/10. * Hide the `template` element in IE 8/9/11,Safari,and Firefox < 22. */
[hidden],template{display:none;}
/* Links ========================================================================== */
/** * Remove the gray background color from active links in IE 10. */
a{background:transparent;}
/** * Improve readability when focused and also mouse hovered in all browsers. */
a:active,a:hover{outline:0;}
/* Text-level semantics ========================================================================== */
/** * Address styling not present in IE 8/9/10/11,Safari,and Chrome. */
abbr[title]{border-bottom:1px dotted;}
/** * Address style set to `bolder` in Firefox 4+,Safari,and Chrome. */
b,strong{font-weight:bold;}
/** * Address styling not present in Safari and Chrome. */
dfn{font-style:italic;}
/** * Address variable `h1` font-size and margin within `section` and `article` * contexts in Firefox 4+,Safari,and Chrome. */
h1{font-size:2em;margin:0.67em 0;}
/** * Address styling not present in IE 8/9. */
mark{background:#ff0;color:#000;}
/** * Address inconsistent and variable font size in all browsers. */
small{font-size:80%;}
/** * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}
sup{top:-0.5em;}
sub{bottom:-0.25em;}
/* Embedded content ========================================================================== */
/** * Remove border when inside `a` element in IE 8/9/10. */
img{border:0;}
/** * Correct overflow not hidden in IE 9/10/11. */
svg:not(:root){overflow:hidden;}
/* Grouping content ========================================================================== */
/** * Address margin not present in IE 8/9 and Safari. */
figure{margin:1em 40px;}
/** * Address differences between Firefox and other browsers. */
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;}
/** * Contain overflow in all browsers. */
pre{overflow:auto;}
/** * Address odd `em`-unit font size rendering in all browsers. */
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em;}
/* Forms ========================================================================== */
/** * Known limitation:by default,Chrome and Safari on OS X allow very limited * styling of `select`,unless a `border` property is set. */
/** * 1. Correct color not being inherited. * Known issue:affects color of disabled elements. * 2. Correct font properties not being inherited. * 3. Address margins set differently in Firefox 4+,Safari,and Chrome. */
button,input,optgroup,select,textarea{color:inherit;/* 1 */
font:inherit;/* 2 */
margin:0;/* 3 */
}
/** * Address `overflow` set to `hidden` in IE 8/9/10/11. */
button{overflow:visible;}
/** * Address inconsistent `text-transform` inheritance for `button` and `select`. * All other form control elements do not inherit `text-transform` values. * Correct `button` style inheritance in Firefox,IE 8/9/10/11,and Opera. * Correct `select` style inheritance in Firefox. */
button,select{text-transform:none;}
/** * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` * and `video` controls. * 2. Correct inability to style clickable `input` types in iOS. * 3. Improve usability and consistency of cursor style between image-type * `input` and others. */
button,html input[type="button"],/* 1 */
input[type="reset"],input[type="submit"]{-webkit-appearance:button;/* 2 */
cursor:pointer;/* 3 */
}
/** * Re-set default cursor for disabled elements. */
button[disabled],html input[disabled]{cursor:default;}
/** * Remove inner padding and border in Firefox 4+. */
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}
/** * Address Firefox 4+ setting `line-height` on `input` using `!important` in * the UA stylesheet. */
input{line-height:normal;}
/** * It's recommended that you don't attempt to style these elements. * Firefox's implementation doesn't respect box-sizing,padding,or width. * * 1. Address box sizing set to `content-box` in IE 8/9/10. * 2. Remove excess padding in IE 8/9/10. */
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;/* 1 */
padding:0;/* 2 */
}
/** * Fix the cursor style for Chrome's increment/decrement buttons. For certain * `font-size` values of the `input`,it causes the cursor style of the * decrement button to change from `default` to `text`. */
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto;}
/** * 1. Address `appearance` set to `searchfield` in Safari and Chrome. * 2. Address `box-sizing` set to `border-box` in Safari and Chrome * (include `-moz` to future-proof). */
input[type="search"]{-webkit-appearance:textfield;/* 1 */
-moz-box-sizing:content-box;-webkit-box-sizing:content-box;/* 2 */
box-sizing:content-box;}
/** * Remove inner padding and search cancel button in Safari and Chrome on OS X. * Safari (but not Chrome) clips the cancel button when the search input has * padding (and `textfield` appearance). */
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}
/** * Define consistent border,margin,and padding. */
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}
/** * 1. Correct `color` not being inherited in IE 8/9/10/11. * 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend{border:0;/* 1 */
padding:0;/* 2 */
}
/** * Remove default vertical scrollbar in IE 8/9/10/11. */
textarea{overflow:auto;}
/** * Don't inherit the `font-weight` (applied by a rule above). * NOTE:the default cannot safely be changed in Chrome and Safari on OS X. */
optgroup{font-weight:bold;}
/* Tables ========================================================================== */
/** * Remove most spacing between table cells. */
table{border-collapse:collapse;border-spacing:0;}
td,th{padding:0;}