zoukankan      html  css  js  c++  java
  • jQuery侧边栏固定

    <!DOCTYPE html>
    <html>
    
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    		<style>
    			#top_head {
    				 100%;
    				height: 253px;
    				background: gray;
    			}
    			
    			#middle_right_list {
    				 70%;
    				height: 1800px;
    				background: #0000FF;
    				float: left;
    			}
    			
    			#middle_left {
    				 30%;
    				height: 300px;
    				float: left;
    			}
    			
    			#middle_left_list {
    				 100%;
    				height: 300px;
    				background: #003580;
    				background-image: url(../../CS/布局属性全接触/img/1.jpg);
    				/*transition: top .03s ease-in;*/
    			}
    			
    			#middle_content {
    				position: relative;
    			}
    			
    			#middle_content:after {
    				content: '';
    				display: block;
    				clear: both;
    				overflow: hidden;
    			}
    			
    			#foot {
    				 100%;
    				height: 200px;
    				background: #004099;
    			}
    			body,html{
    				padding: 0;
    				margin: 0;
    			}
    		</style>
    		<script>
    			function getByID(idname) {
    				var ob = document.getElementById(idname);
    				return ob;
    			}
    			window.addEventListener('scroll', function() {
    				//获取滚动高度
    				var scrolHight = document.body.scrollTop;
    				var middle_left = getByID('middle_left_list');
    				var contentHeight = getByID('middle_right_list').offsetHeight - middle_left.offsetHeight;
    				console.log(contentHeight);
    				if (scrolHight > 253 && scrolHight < (contentHeight + 253)) {
    					//改变CSS
    					middle_left.style.position = 'absolute';
    					middle_left.style.top = (scrolHight - 253) + 'px';
    					middle_left.style.left = '0px';
    					middle_left.style.width = '30%';
    
    				} else if (scrolHight <= 253) {
    					middle_left.style.position = 'static';
    					middle_left.style.width = '100%';
    				}
    			})
    			
    //			window.onscroll = function() {
    //
    //			}
    		</script>
    	</head>
    
    	<body>
    		<div class="container">
    			<div id="top_head">头部</div>
    			<div id="middle_content">
    				<div id="middle_left">
    					<div id="middle_left_list">左菜单</div>
    				</div>
    				<div id="middle_right_list">课程列表</div>
    			</div>
    			<div id="foot">底部</div>
    		</div>
    	</body>
    
    </html>
    

      

    jQuery实现:

    <!DOCTYPE html>
    <html>
    
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    		<style>
    			#top_head {
    				 100%;
    				height: 253px;
    				background: gray;
    			}
    			
    			#middle_right_list {
    				 70%;
    				height: 1800px;
    				background: #0000FF;
    				float: left;
    			}
    			
    			#middle_left {
    				 30%;
    				height: 300px;
    				float: left;
    			}
    			
    			#middle_left_list {
    				 100%;
    				height: 300px;
    				background: #003580;
    				background-image: url(../../CS/布局属性全接触/img/1.jpg);
    				/*transition: top .03s ease-in;*/
    			}
    			
    			#middle_content {
    				position: relative;
    			}
    			
    			#middle_content:after {
    				content: '';
    				display: block;
    				clear: both;
    				overflow: hidden;
    			}
    			
    			#foot {
    				 100%;
    				height: 200px;
    				background: #004099;
    			}
    			
    			body,
    			html {
    				padding: 0;
    				margin: 0;
    			}
    		</style>
    		<script src="../jquery-2.2.4.min.js"></script>
    		<script>
    			$(window).scroll(function() {
    				var scrollHeight = $(window).scrollTop();
    				var topHeight = $('#top_head').height();
    				var slideHeight = $('#middle_left').height();
    				var contentHeight = $('#middle_content').height() - slideHeight;
    				console.log(scrollHeight);
    				console.log('max:'+ (contentHeight + topHeight));
    				if(scrollHeight > contentHeight + topHeight) {
    					scrollHeight = contentHeight + topHeight;
    				}
    				if (scrollHeight > topHeight && scrollHeight <= contentHeight + topHeight) {
    					$('#middle_left_list').css({
    						"position": "absolute",
    						"top": scrollHeight - topHeight + 'px',
    						"left": 0,
    						"width": '30%'
    					});
    				} else if (scrollHeight <= topHeight) {
    					$('#middle_left_list').css({
    						"position": "absolute",
    						"top": 0,
    						"left": 0,
    						"width": '30%'
    					});
    
    				}
    			})
    		</script>
    	</head>
    
    	<body>
    		<div class="container">
    			<div id="top_head">头部</div>
    			<div id="middle_content">
    				<div id="middle_left">
    					<div id="middle_left_list">左菜单</div>
    				</div>
    				<div id="middle_right_list">课程列表</div>
    			</div>
    			<div id="foot">底部</div>
    		</div>
    	</body>
    
    </html>
    

      

  • 相关阅读:
    HDUOJ---2152
    HDUOJ ---悼念512汶川大地震遇难同胞——来生一起走
    HDUOJ --2566
    HDUOJ ----1709
    HDUOJ---1171
    HDUOJ ------1398
    catalan---卡特兰数(小结)
    向前字典排序
    HDUOJ--Holding Bin-Laden Captive!
    HDUOJ----Ignatius and the Princess III
  • 原文地址:https://www.cnblogs.com/yqlog/p/5592711.html
Copyright © 2011-2022 走看看