>웹 프론트엔드 >HTML 튜토리얼 >这个怎么实现啊,谁会啊,标题要长。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。_html/css_WEB-ITnose

这个怎么实现啊,谁会啊,标题要长。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 12:18:15895검색

本帖最后由 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是大写小写我忘了 你试试

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.