因朋友需要搭建一个商城做演示用,所以选择了用PHP写的ECShop。他为了减少改动就是用了模板堂的模板。但是首页轮播广告在不足7个的时候总是会有后续的空白,初步猜想是代码中固定了轮播广告数量。经过问题的查找很快确定了自己的猜想,就随手把它给改掉了。
找到模板文件下的文件(library\index_ad.lbi)并打开。找到如下代码:
window.onload = function() {
function Each(list, fun) {
for (var i = 0,
len = list.length; i < len; i++) {
fun(list[i], i);
}
};
var objs = $("idNum").getElementsByTagName("li");
var tv = new TransformView("idTransformView", "idSlider", 419, 7, {
onStart: function() {
Each(objs,
function(o, i) {
o.className = tv.Index == i ? "on": "";
})
} //按钮样式
});
tv.Start();
Each(objs,
function(o, i) {
o.onmouseover = function() {
o.className = "on";
tv.Auto = false;
tv.Index = i;
tv.Start();
}
o.onmouseout = function() {
o.className = "";
tv.Auto = true;
tv.Start();
}
})
////////////////////////test2
}
在var objs = $("idNum").getElementsByTagName("li");下加一句var viewSliderCount=((objs&&objs.length)||(7));并将7改为viewSliderCount。修改后的代码片段如下:
window.onload = function() {
function Each(list, fun) {
for (var i = 0,
len = list.length; i < len; i++) {
fun(list[i], i);
}
};
var objs = $("idNum").getElementsByTagName("li");
var viewSliderCount = ((objs && objs.length) || (7));
var tv = new TransformView("idTransformView", "idSlider", 419, viewSliderCount, {
onStart: function() {
Each(objs,
function(o, i) {
o.className = tv.Index == i ? "on": "";
})
} //按钮样式
});
tv.Start();
Each(objs,
function(o, i) {
o.onmouseover = function() {
o.className = "on";
tv.Auto = false;
tv.Index = i;
tv.Start();
}
o.onmouseout = function() {
o.className = "";
tv.Auto = true;
tv.Start();
}
})
////////////////////////test2
}
就此完成了首页轮播会出现空白的BUG的修改。
转载请注明:清风亦平凡 » ECShop之模版堂的模板首页轮播最后出现空白BUG修复