代码说明:原来使用的代码如下,其中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样式,确保`div`元素有正确的`overflow`属性设置,例如: ```css div.scrollable { overflow-y: auto; -webkit-overflow-scrolling: touch; /* 对于iOS设备 */ } ``` ### 3. WebView配置优化 ...
失效原因 今天在写轮播图的时候发现,overflow;hidden;竟然能失效,发现原因如下:父元素想要隐藏溢出的绝对定位的子元素,需要给父元素加一个定位;因为绝对定位的子元素会从内向外寻找有定位的父元素,找不到的话...
overflow:hidden失效 当父元素的直接子元素或者下级子元素的样式拥有position:relative属性时,父元素的overflow:hidden属性就会失效。 我们在IE 6内发现子元素会超出父元素设定的高度,即使父元素设置了overflow:...
3. **元素高度超过容器高度**:当元素高度超出其父容器的高度时,超出部分理论上应该被隐藏,但有时由于其他CSS属性(如负margin或绝对定位)的影响,`overflow:hidden`可能失效。 4. **负边距引起的子孙元素溢出**...
3. **盒模型问题**:如果`div`的`overflow`属性被设置为`hidden`,并且边框宽度超出`div`的内容区域,边框可能不会完全显示。 4. **透明度问题**:若`div`或其父元素有透明背景,可能会使边框看起来不明显。 5. **...
产生原因当父元素的直接子元素或者下级子元素的样式拥有position:relative属性时,父元素的overflow:auto属性就会失效。 解决办法解决这个bug很简单,在父元素中使用position:relative;即可解决该bug。 代码bug重现 ...
例如,在div容器中,若内容超出了div设定的高度和宽度,可以通过设置overflow属性来控制显示或隐藏溢出内容。在某些情况下,也可以利用text-overflow属性结合overflow属性来实现优雅的溢出处理。text-overflow属性...
5. **父元素限制**:如果父元素的`overflow`属性设置为`hidden`或`scroll`,可能会裁剪掉子元素的圆角。可以尝试调整父元素的`overflow`设置,或者将圆角应用到父元素。 ```css .parent { overflow: visible; /* ...
然而,单纯使用空格来代替单词间的换行可能会导致换行失效,因此需要谨慎处理。 总的来说,理解和掌握这些CSS样式对于创建适应各种屏幕尺寸和浏览器的响应式网页至关重要。通过灵活运用这些技巧,可以更好地控制...
2. **IE** 中对于指定了宽度的`td`,如果文本中没有标点或空格,则上述代码失效。可以通过添加`word-break: keep-all`来解决,该属性属于CSS3标准的一部分,但在IE中较早支持: ```css td { white-space: nowrap;...
为父元素设置`overflow`属性,除了`visible`之外的任何值(如`hidden`、`auto`或`scroll`)都可以触发浏览器自动计算并扩展父元素的高度,以包含浮动的子元素。这种方法简单有效,但需要注意可能会引入滚动条: ```...
然而,在某些情况下,即使正确应用了margin-top属性,页面上的元素似乎也没有按照预期产生顶部外边距,这种情况常见于元素的父级是一个div标签,且父级div已经设置了具体的width(宽度)和height(高度)属性。...
这样做的原理是,将 `div` 的高度设置为100%,使其占据父元素的全部高度,然后通过 `overflow:hidden` 来隐藏超出的内容,确保背景颜色能覆盖整个 `div` 区域。`!important` 标志用于确保这条样式规则优先于其他可能...
### Firefox 下 `margin-top` 失效问题及解决方案 #### 一、问题概述 在进行网页设计时,尤其是在使用Mozilla Firefox浏览器环境下,开发者可能会遇到一个常见的布局问题:当尝试通过CSS中的`margin-top`属性来调整...
这种方法简单有效,但需要注意,`overflow:hidden`用于避免内容超出div导致居中失效。 二、多行未知高度文本的垂直居中 对于高度可变的多行文本,我们可以使用`padding`来实现视觉上的垂直居中。通过设置上下相同...
2. 在CSS中为该div定义`overflow:hidden`属性,同时需要指定宽度(width)和高度(height),可以使用绝对单位(如像素px)或相对单位(如百分比%)。 3. 设置宽度和高度是为了确保`overflow:hidden`能正常工作,...
<div id="msg" style="overflow:hidden;width:480px;"></div> <div><a id="msg_end" name="1" href="#1"> </a></div> </div> ``` 方法二:利用scrollIntoView方法 scrollIntoView方法可以让指定元素进入视口...
这段代码创建了两个红色边框的`div`,它们都设置了`overflow-y:auto`属性,这意味着当内容超出容器的边界时,会显示垂直滚动条。内部的`div`高度为600像素,远超过外部`div`的200像素高度,所以应该会出现垂直滚动条...
学习过程中经常遇到要居中的问题,水平居中问题比较好解决,而垂直居中问题因为vertical-align经常失效,所以不容易实现,今天将自己总结的一些方法归纳于这边。 1.div中单行文字垂直水平居中。条件:外层div高度...