一:开发的时候碰到一个滚动条问题,即页面出现两个滚动条,外面的是body的滚动条,里面是iframe的滚动条,大概就是如下图:
解决这个问题的方式无非两种:
1:去掉body滚动条
2:去掉iframe滚动条
可是这两种解决方式在实践过程中并不是很顺利,在使用第一种时,直接在body上加 style="overflow-x:hidden;overflow-y:hidden" 。第二种方式,直接给iframe加上scrolling=“no” 属性,里面的滚动条消失了,但是iframe里面的内容却显示不出来了。
二:于是我们需要再次思考:需要怎么做才能解决问题?
我看了一下iframe属性height,发现他的值是570,而他的实际高度是大概3000的,570只是当前一页的高度, 我在f12中把height改成3000,发现body的滚动条竟然变得和iframe的滚动条差不多大小,也就是只要我把iframe的滚动条去掉的话,用body的滚动条就可以。
三:所以,目标很明确了,给iframe加上scrolling=“no” 属性,在页面加载以后把iframe的height换成实际高度就可以了。
//获取class是tab_iframe的iframe的实际高度
var scoHeight = $(".tab_iframe").contents().find("body").height();
$(".tab_iframe").css({
height:scoHeight
})
半个月后发现,还是第一种方式好用