tlx6550
2015-12-13 14:02
代码是按老师来的,可是还是报错呢:
function getClass(parrent,cls){ var boxArr = new Array(); var elements = parrent.getElementsByTagName("*"); for (var i = 0; i < elements.length; i++) { if (elements[i].className==cls) { boxArr.push(elements[i]); } } // 符合条件的节点数组你没有返回 return boxArr; }
改成这样就可以了。主要是你没有返回的问题。
返回了也没用,
忘记返回了,,,谢谢。。
我也是卡在这里,谢谢
原来如此,忘记返回了,O(∩_∩)O谢谢
楼上正解
<script>
window.onload=function(){
watarFlall('main','box');
};
function watarFlall(parrent,box){
//将main 下的所有 class为 box的 元素取出来;
var Oparrent = document.getElementById(parrent);
var Obox = getClass(Oparrent,box);
//设置main居中
var oBoxW = Obox[0].offsetWidth;
var cols = Math.floor(document.documentElement.clientWidth/oBoxW);
Oparrent.style.cssText='width:'+oBoxw*cols+'px;margin:0 auto';
}
function getClass(parrent,cls){
var boxArr = new Array();
var elements = parrent.getElementsByTagName("*");
for (var i = 0; i < elements.length; i++) {
if (elements[i].className==cls) {
boxArr.push(elements[i]);
}
}
}
</script>
你的Obox是一个空数组,所以 Obox[0] 就是undefined 然后你再 Obox[0].offsetWidth;就报错了,你可以给一下你的完整代码,大家帮你看一下 为什么Obox是空数组
瀑布流布局
97759 学习 · 736 问题
相似问题