基于jquery的滚动条滚动固定div(附演示下载)

例如:淘宝商品详情里,滚动条往下来拉的时候,商品详情和评价那个nav会固定,现在很多网站也都有这样类似的效果,现在流行这个么?元芳,你怎么看?我也在网上找了找代码,屡试不爽啊,很多代码乱且没用。于是乎,我自己写一个,代码非常之简单,只有10几行,但遗憾的是,不兼容IE6,如果谁有兼容IE6的例子,还请指教。

直接贴下代码吧。

代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>demo</title>
<script src="jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
var loaded = true;
var top = $("#demo").offset().top;
function Add_Data()
{
var scrolla=$(window).scrollTop();
var cha=parseInt(top)-parseInt( scrolla);
if(loaded && cha<=0)
{
$("#demo").removeClass("demo2").addClass("demo1");
$("#demo").html("我现在是蓝色,把滚动条往上拉我会显示成红色。我已经固定了。");
loaded=false;
}
if(!loaded && cha>0)
{
$("#demo").removeClass("demo1").addClass("demo2");
$("#demo").html("我现在是红色,把滚动条往下拉我会显示成蓝色。我还没固定了。");
loaded=true;
}
}
$(window).scroll(Add_Data);
});
</script>
<style type="text/css">
.demo
{
border: 1px solid #dcdcdc;
width: 300px;
margin-top: 10px;
overflow: auto;
text-align: left;
background-color: #ffffff;
height:200px;
}
.demo1
{
position: fixed;
_position: absolute;
top: 0px;
background-color: #0000ff;
height:200px;
width:300px;
color:#ffffff;
}
.demo2
{
border: 1px solid #dcdcdc;
width: 300px;
margin-top: 10px;
overflow: auto;
text-align: left;
background-color: #ff0000;
height:200px;
color:#ffffff;
}
</style>
</head>
<body>
<div class="demo">
</div>
<div class="demo">
</div>
<div class="demo">
</div>
<div class="demo">
</div>
<div class="demo2" id="demo">
我现在是红色,把滚动条往下啦我会显示成蓝色。我还没固定了。
</div>
<div class="demo">
</div>
<div class="demo">
</div>
<div class="demo">
</div>
<div class="demo">
</div>
<div class="demo">
</div>
</body>
</html>

友情提醒:我只提供了一个简单的Demo,在实际开发中Demo中的东西还是需要修改修改的。
在线演示:http://demo.jb51.net/js/2012/scrollfixed/
附:Demo下载

(0)

相关推荐

  • 利用div+jquery自定义滚动条样式的2种方法

    最近做项目中有一个模块是用于实时监控的,左边有个菜单栏用于显示所有的设备,那当然是从数据库中动态获取的了,右边是个iframe用于显示监控画面.本来这个功能并不复杂,左边的菜单项是利用dtree.js来实现的,可时当功能实现完成之后,却发现一个问题,就是左边菜单栏中的设备名有的会很长,会超出了div的长度,准确说是左边iframe的宽度和长度不够.那么,这时就必须要利用滚动条了,可以设置左边菜单项div的overflow-x:auto;overlfow-y:auto;这样就会自动生成了滚动条,但

  • jQuery控制div实现随滚动条滚动效果

    本文实例讲述了jQuery控制div实现随滚动条滚动效果的方法.分享给大家供大家参考,具体如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jquery div随滚动条滚动效果</title> <script src="../js/jquery-1.11.1.min.js" type="text/javascript"&

  • 一个用jquery写的判断div滚动条到底部的方法【推荐】

    jQuery 里和滚动条有关的概念很多,但是有三个属性和滚动条的拖动有关,就是:scrollTop.scrollLeft.scrollHeight.其中 scrollHeight 属性,互联网上几乎搜素不到关于它的应用技巧,而我正好需要用到它. 我们现在只探讨和垂直滚动有关的 scrollTop.scrollHeight 属性. 一.滚动条有关属性的正确理解: 假设有以下Html代码: <div id="div1" style="overflow-y:auto; ove

  • jquery简单实现滚动条下拉DIV固定在头部不动

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu

  • 通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位

    这里有一个方法可以将DIV的滚动条滚动到其子元素所在的位置,方便自动定位. 复制代码 代码如下: var container = $('div'), scrollTo = $('#row_8'); container.scrollTop( scrollTo.offset().top - container.offset().top + container.scrollTop() ); // Or you can animate the scrolling: container.animate({

  • jQuery判断div随滚动条滚动到一定位置后停止

    实现代码: 复制代码 代码如下: <script type="text/javascript">var rollSet = $('#widget');    var offset = rollSet.offset();    var fwidth = $("#footer").height();    $(window).scroll(function() {        var scrollTop = $(window).scrollTop();  

  • jQuery实现将div中滚动条滚动到指定位置的方法

    本文实例讲述了jQuery实现将div中滚动条滚动到指定位置的方法.分享给大家供大家参考,具体如下: 一.Js代码: onload = function () { //初始化 scrollToLocation(); }; function scrollToLocation() { var mainContainer = $('#thisMainPanel'), scrollToContainer = mainContainer.find('.son-panel:last');//滚动到<div

  • 基于jquery的DIV随滚动条滚动而滚动的代码

    核心代码: 复制代码 代码如下: <script type="text/javascript" src="http://demo.jb51.net/jslib/jquery/jquery-1.7.2.min.js"></script> <script type="text/javascript"> $(function() { $(window).scroll(function() { var top = $(

  • JQuery+DIV自定义滚动条样式的具体实现

    JQuery计算滚动条长度和位置,代码如下: javascript 复制代码 代码如下: <script type="text/javascript">    var scrMinHeight = 1; //滚动条最小高度    var scrMaxHeight = 0; //滚动条最大高度    var scrDefualtTop = 80; //滚动条默认位置    var scrHeight = 0;    //初始化滚动条    function InitScrol

  • jquery DIV撑大让滚动条滚到最底部代码

    复制代码 代码如下: $("#feedbackContainer").scrollTop($("#feedbackContainer").height());

随机推荐