<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
<style>
#top_head {
width: 100%;
height: 253px;
background: gray;
} #middle_right_list {
width: 70%;
height: 1800px;
background: #0000FF;
float: left;
} #middle_left {
width: 30%;
height: 300px;
float: left;
} #middle_left_list {
width: 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 {
width: 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 {
width: 100%;
height: 253px;
background: gray;
} #middle_right_list {
width: 70%;
height: 1800px;
background: #0000FF;
float: left;
} #middle_left {
width: 30%;
height: 300px;
float: left;
} #middle_left_list {
width: 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 {
width: 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>

  

jQuery侧边栏固定的更多相关文章

  1. jquery 导航固定的一个实例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. jquery的固定定位效果

    今天做了个固定定位的效果.比如对导航需要进行固定定位效果: 当没有滚动到导航下面,导航正常显示. 当滚动到导航下面,导航就固定到顶部. 这个效果使用了jquery的方法实现,具体思路为: 1)首先获取 ...

  3. jquery版固定边栏滚动特效

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  4. Jquery 表格固定表头

    网上找了好多现成的.结果没一个能成.只得自己动手. (function($){ $.fn.fixHeader = { init : function(obj){ var p = obj.parent( ...

  5. FLEX实现两侧边栏固定中间自适应布局

    <style type="text/css"> #outer{ display: flex; width: 100%; flex-flow: row nowrap; } ...

  6. 解决ubuntu侧边栏固定应用单击无反应的问题

    Linux下有些绿色软件,不需要安装就可以双击启动,但有些程序在打开后直接在 Launcher 中右键选择 Lock to Launcher ,但是,有时候单击图标后并未启动应用,下面给出解决方法. ...

  7. jquery 浮动 固定显示

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>无标题文档 我爱b ...

  8. JQuery Mobile - 固定住页面和页脚

    在点击页面空白时候,页眉和页脚会隐藏,在页眉和页脚加入以下代码就可以了: data-tap-toggle ="false" 例子: <div data-role=" ...

  9. 19款绚丽实用的jQuery/CSS3侧边栏菜单

    jQuery作为一款主流的JavaScript前端开发框架,深受广告开发者的亲睐,同时jQuery有着不计其数的插件,特别是菜单插件更为丰富,本文将要为大家介绍20个绚丽而实用的jQuery侧边栏菜单 ...

随机推荐

  1. iocp-socket 服务(借鉴别人的,根据自己的需要改的)未完待续

    #pragma once #include <WinSock2.h> #include <MSWSock.h> #include <Windows.h> #prag ...

  2. Dynamics AX 2012 R2 IIS WebSite Unauthorized 401

    今天,Reinhard部署好Aif Customer Service ,打开http://host:port/MicrosoftDynamicsAXAif60/,发现提示以下错误: 401 - Una ...

  3. linux下tftp使用(转一些命令)

    转载于:http://cache.baiducontent.com/c?m=9d78d513d99d1af31fa7837e7c5083205b4380122ba6d1020ba5843990732c ...

  4. [问题2014S12] 复旦高等代数II(13级)每周一题(第十二教学周)

    [问题2014S12]  设 \(A,B\) 都是 \(n\) 阶半正定实对称阵, 证明: \(AB\) 的所有特征值都是非负实数. 进一步, 若 \(A,B\) 都是正定实对称阵, 证明: \(AB ...

  5. jquery之replaceAll(),replaceWith()方法详解

    一:replaceAll() replaceAll()函数用于使用当前匹配元素替换掉所有的目标元素. 该函数属于jQuery对象(实例). 语法 jQuery 1.2 新增该函数. jQueryObj ...

  6. JMeter进行简单的数据库(mysql)压力测试

    1.点击测试计划,再点击“浏览”,把JDBC驱动添加进来: 注:JDBC驱动一般的位置在java的安装地址下,路径类似于:    \java\jre\lib\ext 文件为:mysql-connect ...

  7. tomcat下iims的配置感悟

    1.没有想(意识)到清楚:resin下的web.xml 和tomcat下的web.xml是不同的. 2.对于connect读取配置文件以及连接数据库根本就没有意识. /** * 获取本系统DB配置的文 ...

  8. html之meta详解

    <!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --> <html lang="zh-cmn-Hans"&g ...

  9. easyui combotree 只能选择子节点

    //区号只能选子节点 $("#quhao").combotree({ onBeforeSelect: function (node) { //返回树对象 var tree = $( ...

  10. jquery的一些属性选择器

    td:contains(Henry)选择td里面所有class为Henry的元素 .siblings()选择相同dom层次的所有其他元素,例如 <ul> <li>第一个< ...