就是一个div 如图,红框内,本来在他该有的位置上好好的呢, ,然后呢,滚动页面,将要把他滚出去的时候,他就停在浏览器上方了, 谁告诉我这是怎么实现的啊,能上个代码例子最好。。
提供两个思路吧:
第一个 参考 http://guohf.iteye.com/blog/605652
第二个:利用js实现。
原理 :视窗 位置定位 ,呈现对象位置定位,如果 呈现对象已经不在视窗位置里了,那么 给 呈现对象一个绝对定位即可。参考
http://javayestome.iteye.com/blog/876021
看看我这个,虽然比较简陋,但重在可用。
看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;
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是大写小写我忘了 你试试