0 0

div的overflow属性失效5

代码说明:原来使用的代码如下,其中table中的显示内容是通过ajax动态写入的.达到的效果是:当table中的内容长度过长时,隐藏超出部分,且隐藏部分的查看通过Js来实现平滑滚动的脚本主体代码:
<div id="tableparent" style="height:400px;overflow: hidden;visibility: visible">
<div id="tablediv" style="position: relative;">
<table class="STtab" border=0  cellSpacing="2" cellpadding="5" id="datatable" style="background:#C1CDD8; cursor:hand" onclick="hilightRow()" onmousemove="javascript:lightRowOver()" onmouseout="javascript:lightRowOut()">
<tbody id="actionsbody">
</tbody>
</table>
</div>
</div>

当前问题:原来代码运行一切正常,当另一页面中需要使用时,将上段代添加进去后,平滑滚动可以实现,但隐藏超出高度的内容却失败.只要超出长度后,页面就根据显示内容全显示出来.为了各位朋友易于理解我的问题,现平滑滚动代码如下:
var INTERVAL;
var STEPS = 25;
var divobj;
function smoothScroll(divtable, divparent, step) {
    // Stop any current scrolling
    clearInterval(INTERVAL);
  var scrolledpx = divparent.offsetHeight;
  divobj = divtable;
    var cypos = divobj.scrollTop;
    var desty = scrolledpx - divobj.offsetTop;
    if(step != -1)
    desty = step - divobj.offsetTop;
    if(desty > divobj.scrollHeight - scrolledpx)
    desty = divobj.scrollHeight - scrolledpx;
    if(desty < 0)
    desty = 0;
    scrolledpx = desty + divobj.offsetTop;
    ss_stepsize = parseInt(scrolledpx/STEPS);
    INTERVAL = setInterval('scrollWindow('+ss_stepsize+','+desty+')',10);

    // And stop the actual click happening
    if (window.event) {
      window.event.cancelBubble = true;
      window.event.returnValue = false;
    }
}

function scrollWindow(scramount,dest) {
    wascypos = divobj.offsetTop;
    isAbove = ((0-wascypos) < dest);
    var i = (0-wascypos) + scramount;
    i = 0-i;
    divobj.style.top = i;
    iscypos = divobj.offsetTop;
    isAboveNow = (Math.abs(iscypos) < dest);
    if ((isAbove != isAboveNow) || (wascypos == iscypos)) {
      divobj.style.top = 0-dest;
      // cancel the repeating timer
      clearInterval(INTERVAL);
    }
}
问题补充:
找了N天了,个人认为这个跟Js没有关系.因为平行滚动可以.至于Css样式,我在Div层中直接加的,会被覆盖吗?宽度无限制,只限高度
CSS 
2009年8月24日 10:41

3个答案 按时间排序 按投票排序

0 0

两个页面引入的JS和CSS是一样的吗?从两个页面的不同点开始找。

2009年8月24日 12:47
0 0

会不会是css样式被覆盖了

2009年8月24日 10:52
0 0

给个截图?

ff or ie?

宽度设置么

2009年8月24日 10:45

相关推荐

    Android手机版浏览器DIV滚动条失效解决方案

    检查网页中的CSS样式,确保`div`元素有正确的`overflow`属性设置,例如: ```css div.scrollable { overflow-y: auto; -webkit-overflow-scrolling: touch; /* 对于iOS设备 */ } ``` ### 3. WebView配置优化 ...

    css中overflow:hidden失效问题的解决方法

    失效原因 今天在写轮播图的时候发现,overflow;hidden;竟然能失效,发现原因如下:父元素想要隐藏溢出的绝对定位的子元素,需要给父元素加一个定位;因为绝对定位的子元素会从内向外寻找有定位的父元素,找不到的话...

    IE overflow:hidden失效的解决方法

    overflow:hidden失效 当父元素的直接子元素或者下级子元素的样式拥有position:relative属性时,父元素的overflow:hidden属性就会失效。 我们在IE 6内发现子元素会超出父元素设定的高度,即使父元素设置了overflow:...

    一个通俗小故事告诉你溢出隐藏(overflow:hidden)失效的原因

    3. **元素高度超过容器高度**:当元素高度超出其父容器的高度时,超出部分理论上应该被隐藏,但有时由于其他CSS属性(如负margin或绝对定位)的影响,`overflow:hidden`可能失效。 4. **负边距引起的子孙元素溢出**...

    div style属性中设置其border无效是什么情况如何解决

    3. **盒模型问题**:如果`div`的`overflow`属性被设置为`hidden`,并且边框宽度超出`div`的内容区域,边框可能不会完全显示。 4. **透明度问题**:若`div`或其父元素有透明背景,可能会使边框看起来不明显。 5. **...

    ie7中overflow:auto无效的解决方法

    产生原因当父元素的直接子元素或者下级子元素的样式拥有position:relative属性时,父元素的overflow:auto属性就会失效。 解决办法解决这个bug很简单,在父元素中使用position:relative;即可解决该bug。 代码bug重现 ...

    css overflow溢出隐藏(文字溢出时的自动隐藏处理)

    例如,在div容器中,若内容超出了div设定的高度和宽度,可以通过设置overflow属性来控制显示或隐藏溢出内容。在某些情况下,也可以利用text-overflow属性结合overflow属性来实现优雅的溢出处理。text-overflow属性...

    解决border-radius失效问题

    5. **父元素限制**:如果父元素的`overflow`属性设置为`hidden`或`scroll`,可能会裁剪掉子元素的圆角。可以尝试调整父元素的`overflow`设置,或者将圆角应用到父元素。 ```css .parent { overflow: visible; /* ...

    html中的div、td 、p 等容器内强制换行和不换行的实现

    然而,单纯使用空格来代替单词间的换行可能会导致换行失效,因此需要谨慎处理。 总的来说,理解和掌握这些CSS样式对于创建适应各种屏幕尺寸和浏览器的响应式网页至关重要。通过灵活运用这些技巧,可以更好地控制...

    兼容多浏览器,兼容 div、p、td 的强制不换行及强制换行.

    2. **IE** 中对于指定了宽度的`td`,如果文本中没有标点或空格,则上述代码失效。可以通过添加`word-break: keep-all`来解决,该属性属于CSS3标准的一部分,但在IE中较早支持: ```css td { white-space: nowrap;...

    Float(浮动)导致的父容器背景不显示的解决方法

    为父元素设置`overflow`属性,除了`visible`之外的任何值(如`hidden`、`auto`或`scroll`)都可以触发浏览器自动计算并扩展父元素的高度,以包含浮动的子元素。这种方法简单有效,但需要注意可能会引入滚动条: ```...

    div标签中的元素margin-top失效的解决方法

    然而,在某些情况下,即使正确应用了margin-top属性,页面上的元素似乎也没有按照预期产生顶部外边距,这种情况常见于元素的父级是一个div标签,且父级div已经设置了具体的width(宽度)和height(高度)属性。...

    当DIV高度为自动时,背景颜色无法显示的解决方法

    这样做的原理是,将 `div` 的高度设置为100%,使其占据父元素的全部高度,然后通过 `overflow:hidden` 来隐藏超出的内容,确保背景颜色能覆盖整个 `div` 区域。`!important` 标志用于确保这条样式规则优先于其他可能...

    Firefox下margin-top会出错

    ### Firefox 下 `margin-top` 失效问题及解决方案 #### 一、问题概述 在进行网页设计时,尤其是在使用Mozilla Firefox浏览器环境下,开发者可能会遇到一个常见的布局问题:当尝试通过CSS中的`margin-top`属性来调整...

    CSS教程之div垂直居中的多种方法

    这种方法简单有效,但需要注意,`overflow:hidden`用于避免内容超出div导致居中失效。 二、多行未知高度文本的垂直居中 对于高度可变的多行文本,我们可以使用`padding`来实现视觉上的垂直居中。通过设置上下相同...

    IE6 两个div有间隙的问题(IE 3px bug)

    2. 在CSS中为该div定义`overflow:hidden`属性,同时需要指定宽度(width)和高度(height),可以使用绝对单位(如像素px)或相对单位(如百分比%)。 3. 设置宽度和高度是为了确保`overflow:hidden`能正常工作,...

    让DIV的滚动条自动滚动到最底部的3种方法(推荐)

    &lt;div id="msg" style="overflow:hidden;width:480px;"&gt;&lt;/div&gt; &lt;div&gt;&lt;a id="msg_end" name="1" href="#1"&gt;&nbsp&lt;/a&gt;&lt;/div&gt; &lt;/div&gt; ``` 方法二:利用scrollIntoView方法 scrollIntoView方法可以让指定元素进入视口...

    div模拟滚动条当div宽度小于18时滚动条不滚动

    这段代码创建了两个红色边框的`div`,它们都设置了`overflow-y:auto`属性,这意味着当内容超出容器的边界时,会显示垂直滚动条。内部的`div`高度为600像素,远超过外部`div`的200像素高度,所以应该会出现垂直滚动条...

    纯css多种方法实现div中单行文字、多行文字及嵌套div垂直水平居中

    学习过程中经常遇到要居中的问题,水平居中问题比较好解决,而垂直居中问题因为vertical-align经常失效,所以不容易实现,今天将自己总结的一些方法归纳于这边。 1.div中单行文字垂直水平居中。条件:外层div高度...

Global site tag (gtag.js) - Google Analytics