清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>STICKY</title>
<!--<script src="modernizr-dev.js"></script>-->
<link href="index.css" rel="stylesheet" />
</head>
<body>
<header>TEST</header>
<div class="sticky-wrap">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>0</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>0</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>0</li>
<li id="test"><div>test</div></li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>0</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>0</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>0</li>
</ul>
</div>
<script>
function featureTest( property, value, noPrefixes ) {
// Thanks Modernizr! https://github.com/phistuck/Modernizr/commit/3fb7217f5f8274e2f11fe6cfeda7cfaf9948a1f5
var prop = property + ':',
el = document.createElement( 'test' ),
mStyle = el.style;
if( !noPrefixes ) {
mStyle.cssText = prop + [ '-webkit-', '-moz-', '-ms-', '-o-', '' ].join( value + ';' + prop ) + value + ';';
} else {
mStyle.cssText = prop + value;
}
return mStyle[ property ].indexOf( value ) !== -1;
}
'use strict';
onload = function() {
var stickySupported = featureTest('position', 'sticky');
document.querySelector('html').classList.add(stickySupported ? 'csssticky' : 'no-csssticky');
if (!stickySupported) {
var elem = document.getElementById('test');
elem.style.height = elem.height = getComputedStyle(elem).height;
elem.children[0].style.right = parseFloat(getComputedStyle(elem.parentElement.parentElement).width) - parseFloat(getComputedStyle(elem).width) + 'px';
elem.parentElement.addEventListener('scroll', function() {
console.log(this.scrollTop);
if (this.scrollTop > elem.offsetTop) {
elem.classList.add('sticky');
} else {
elem.classList.remove('sticky');
}
});
}
}
</script>
</body>
</html>