我是javascript的新手,所以我的问题可能有一个简单的解决方案。 我制作了一个xml文件,其中存储了我想要添加到我的网页的图像的信息,这些图标添加了标签。 我找到了一个js函数,它会通过点击链接隐藏/显示图像,就像我想要的那样。 但是我想在一次点击时显示带有某个标签的所有图像,这就是问题所在的地方
<script type="text/javascript">
function unhide(divID)
{
var item = document.getElementById(divID);
if (item)
{
item.className=(item.className=='hidden')?'unhidden':'hidden';
}
}
function ClassTag(Name)
{
var TagNameArrayJS = <?php echo json_encode($TagNameArray); ?>;
var TagArrayJS = <?php echo json_encode($TagArray); ?>;
var PhotoIdArrayJS = <?php echo json_encode($PhotoIdArray); ?>;
var aa = 0;
var bb = 0;
while(aa < TagNameArrayJS.length)
{
if(TagNameArrayJS[aa] == Name)
{
while(bb < TagArrayJS[aa].length)
{
unhide(PhotoIdArrayJS[TagArrayJS[aa][bb]]);
bb = bb + 1;
}
}
aa = aa + 1;
}
}
</script>
输出:
<script type="text/javascript">
function unhide(divID)
{
var item = document.getElementById(divID);
if (item)
{
item.className=(item.className=='hidden')?'unhidden':'hidden';
}
}
function ClassTag(Name)
{
var TagNameArrayJS = ["All","Anders","Hanna","Church","Party"];
var TagArrayJS = [[0,1,2],[0],[0,1,2],[0,2],[1]];
var PhotoIdArrayJS = ["JPG001","JPG002","JPG003"];
var aa = 0;
var bb = 0;
while(aa < TagNameArrayJS.length)
{
if(TagNameArrayJS[aa] == Name)
{
while(bb < TagArrayJS[aa].length)
{
unhide(PhotoIdArrayJS[TagArrayJS[aa][bb]]);
bb = bb + 1;
}
}
aa = aa + 1;
}
}
</script>
html:
<a href="javascript:ClassTag('hanna');">Hanna</a>
我写了一个新功能“ClassTag”来调用我想要的图像的取消隐藏功能。 TagNameArray具有标记的名称,以与被调用的进行比较。 TagArrayJS在每个位置都有一个数组,用于调用图像编号。 PhotoIdArrayJS具有在取消隐藏功能中使用的Id。
所以问题是,我如何编写一个函数,使用这些数据来调用我的取消隐藏函数我想要的次数?
/感谢
答案 0 :(得分:0)
将while(bb < TagArrayJS.length)
更改为while(bb < TagArrayJS[aa].length)
。
此外,正如其他用户所说,考虑学习jQuery,因为它会简化代码。