• 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>
    

      

  • 相关阅读:
    使用用Ghost制作的win2k3和winxp文件具有相同的SID的解决办法
    64 bits Windows 7 使用 regsvr32 的註冊方式(转)
    怎么实现用户匿名访问web,但数据库要用Windows集成验证方式(数据库和web服务器分别在两台机器上)
    为什么按照微软给定的匿名配置Web 同步最终造成创建订阅的步骤总是失败?但改为需要身份验证就行了
    How to edit Team Build Types
    利用WhiteHose一步步建立分布式系统的框架(二)创建LDD步骤
    发现:InfoPath 2007 Training Labs地址
    在MSF中怎么区分易混淆的工作项类型:Bug、风险和问题(我个人的理解)
    RGB Colour Map
    How to distinguish Design time or Running time in Mobile cusotmer Contorl(the NetCF2.0 is different to NetCF1.0)
  • 原文地址:https://www.cnblogs.com/yqlog/p/5592711.html
Copyright © 2020-2023  润新知