在我描述我的问题之前,我想准确概述我正在尝试的内容
我在这里要做的是根据用户可以按下的按钮将不同的项目集加载到内容流中。我已经设置了一个由按钮触发的函数,它将获取与我通过 AJAX(使用 jQuery $.get)传递给它的名称值关联的项目,并放入一个 ID 为 itemcontainer 的 div。这很好用。
function getPictures(Gallery){
$.get( "getimages.php", {name : Gallery}, function( data ) {
for(x in data){
$("#itemcontainer").append(data[x]);
}
addPictures();
}, "json" );
return false;
}
您将看到该函数调用了其中的另一个函数 ( addPictures() ),该函数实际上通过 ContentFlow 的 addItem 方法将图片从具有 itemcontainer ID 的 div 添加到 ContentFlow 轮播中。
function addPictures(){
clearBox();
var it = ajax_cf.items;
// Grabs pictures from 'itemcontainer' and iteratively adds them to 'flow'
var ic = document.getElementById('itemcontainer');
var is = ic.getElementsByTagName('img');
for (var i=0; i< is.length; i++) {
ajax_cf.addItem(is[i],"end");
}
}
您会注意到 addPictures() 函数内部有一个我之前声明的名为 clearBox() 的函数。clearBox() 应该遍历我的内容流中的项目并删除它们,这样我就可以在加载新项目之前删除 ContentFlow 轮播中的旧项目库。
它通过循环遍历列表项(称为项)来工作,这是 ContentFlow 对象 ajax_cf 的一个属性,我为每个项在索引 0 处的列表元素上创建并运行方法 rmItem。这是 clearBox 函数。
var ajax_cf = new ContentFlow('ajax_cf');
function clearBox(){
alert("clear");
var it = ajax_cf.items;
var len = it.length;
for(var i=0; i<len; i++){
ajax_cf.rmItem(0);
}
return false;
}
如果您愿意,可以在此处获取源代码或文档。 http://www.jacksasylum.eu/ContentFlow/
提前致谢!