<!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. 初试“七牛云”--零基础运用七牛云配合UEditor实现图片的上传和浏览(.NET篇)

    (注册和建立存储空间就不介绍了,网上一把一把的资料,自己试着点点也能明白) 作为一个成熟的菜鸟,如果遇到一个新问题,第一步当然是先百度一下... 看了N个关于七牛云的使用的帖子,表示还是蒙圈的,看懂了 ...

  2. 使用Lombok简化你的代码

    一.安装 eclipse 下载:https://projectlombok.org/       双击安装即可. 重启eclipse/myeclipse         如果有报错,clean一下项目 ...

  3. 关于ORACLE隐式转换后性能问题

    SELECT TM.MONEY_CODE FROM T_CONTRACT_MASTER T,T_MONEY TM WHERE T.MONEY_ID = TM.MONEY_ID AND T.POLICY ...

  4. JuQueen(线段树 lazy)

    JuQueen Time Limit: 5 Sec  Memory Limit: 512 MB Description Input Output Sample Input 10 10 5 state ...

  5. iotop命令

    简介: iotop – simple top-like I/O monitor iotop是一个用来监视磁盘I/O使用状况的 top 类工具,可监测到哪一个程序使用的磁盘IO的信息(requires ...

  6. CentOS 7下关于systemd的一些唠叨话一:systemd的特点和使用

    摘要 近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvinit 已经逐渐淡出历史舞台,新的 UpStart 和 systemd 各有特点,越来越多的 Linux 发行版 ...

  7. [问题2015S06] 复旦高等代数 II(14级)每周一题(第七教学周)

    [问题2015S06]  设 \(V\) 是数域 \(\mathbb{K}\) 上的 \(n\) 维线性空间, \(\varphi\) 是 \(V\) 上的线性变换. (1) 求证: 对任一非零向量 ...

  8. SSH服务器拒绝密码检测

    这两天在配置Ubuntu 14.04的环境时,碰到一个典型的问题:在用xshell 连接Ubuntu时,显示"SSH服务器拒绝密码检测"的问题,在经过一系列配置修改后,最终怀疑是否 ...

  9. Laravel登录验证碰到的坑 哈希验证匹配问题

    用laravel 写登录验证 本来是用Crypt加密 添加用户到数据库的 后来验证密码  解密时一直报错 The payload is invaild 由于本人是laravel框架小白 自己思考许久未 ...

  10. &与&&的区别

    &是“逻辑与”(“按位与”“位运算符”),一定要判断完所有的条件才能确定到底返回true还是false. &&是“短路与”(“逻辑运算符”),当从左至右判断时,一旦出现有一个条 ...