本帖最后由 sunjunchao0922 于 2013-01-05 16:39:24 编辑
就是一个div 如图,红框内,本来在他该有的位置上好好的呢, ,然后呢,滚动页面,将要把他滚出去的时候,他就停在浏览器上方了, 谁告诉我这是怎么实现的啊,能上个代码例子最好。。
回复讨论(解决方案) 提供两个思路吧:
第一个 参考 http://guohf.iteye.com/blog/605652
第二个:利用js实现。
原理 :视窗 位置定位 ,呈现对象位置定位,如果 呈现对象已经不在视窗位置里了,那么 给 呈现对象一个绝对定位即可。参考
http://javayestome.iteye.com/blog/876021
滚动条相关颜色属性:
face-color:滑块颜色
hightlight-color:高亮颜色
3dlight-color:三维光线颜色
darkshadow-color:暗影颜色
shadow-color:阴影颜色
arrow-color:箭头颜色
tack-color:滑道颜色
滚动条属性:
overflow:auto为自动,yes为有,no为无
overflow-x:横向滚动条
overflow-y:纵向滚动条 看看我这个,虽然比较简陋,但重在可用。
看demo.
核心代码:
(function(){ var pos = 0, qatitle = $('.gb-qatitle-wrap'); $(window).scroll(function () { pos = $(document).scrolltop(); if (pos > 150) { qatitle.addclass('nomenu'); if(!window.xmlhttprequest){ qatitle.css({position: 'absolute',top: pos + 20}); } } else { qatitle.removeclass('nomenu'); if(!window.xmlhttprequest){ qatitle.css({position: 'static',top: 'auto'}); } } });}());
你的这个div的不会是用absolute定位的吧?
判断位子呗,作为一个单独的浮动层,用js控制位子
position:fixed; bottom:100px;
将这个div固定在可是窗口的某个位置就可以了
css code?12position:fixed; bottom:100px;
将这个div固定在可是窗口的某个位置就可以了
不是这样的,
js可以实现的, $(window).scroll(function () {});在触发滚动条事件时,判断div的位置,当到屏幕最上方时,就用绝对定位,相对定位也行,这不久搞定了!
js可以实现的, $(window).scroll(function () {});在触发滚动条事件时,判断div的位置,当到屏幕最上方时,就用绝对定位,相对定位也行,这不久搞定了!
怎么判断div的位置是不是在屏幕最上方了啊?
看看我这个,虽然比较简陋,但重在可用。
看demo.
核心代码:
javascript code?12345678910111213141516171819(function(){ var pos = 0, qatitle = $('.gb-qatitle-wrap'); $(window).scroll(function () { ……
能稍稍解释一下下吗,.gb-qatitle-wrap 是不是那个div的class,那nomenu 也是这个div的class?
看看我这个,虽然比较简陋,但重在可用。
看demo.
核心代码:
javascript code?12345678910111213141516171819(function(){ var pos = 0, qatitle = $('.gb-qatitle-wrap'); $(window).scroll(function () { ……
看例子了,看懂了,,但是有一点啊, if (pos > 150) 这1560是个固定的数字,要是这个div上面的高度不能确定呢?
那就通过那个div的offsettop来获取上面的高度
那就通过那个div的offsettop来获取上面的高度
offsettop 我怎么用不对啊,我 alert($(.gb-qatitle-wrap).offsettop); 怎么出现undefined 啊
介绍 offsettop 的 使用方法真少啊, 我找到原因了, 该这么写 alert($(.gb-qatitle-wrap)[0].offsettop);,,,,不知道为什么,,,,,,,,....。。。。。。。。。。。
js 事件
window.onscroll(function(){
// code...
});
引用 8 楼 sdyngg_00 的回复:js可以实现的, $(window).scroll(function () {});在触发滚动条事件时,判断div的位置,当到屏幕最上方时,就用绝对定位,相对定位也行,这不久搞定了!
怎么判断div的位置是不是在屏幕最上方了啊?
$(#id).offset().top == 0
offset s是大写小写我忘了 你试试