JavaScriptの新機能ですので、私の問題を簡単に解決できるかもしれません。 私は自分のウェブページに追加したい画像に関する情報を保存するxmlファイルを作成しました。タグが追加されています。 私はちょうど私が望むようにオンクリックリンクでイメージを表示/非表示にするjs関数を発見しました。 しかし、私は問題が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>
出力でワンクリックやザッツで特定のタグを持つすべての画像を表示したいと思います:私が書いた
<a href="javascript:ClassTag('hanna');">Hanna</a>
:
<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私が望む画像でunhide関数を呼び出すための新しい関数 "ClassTag"。 TagNameArrayには、呼び出されたものと比較するタグの名前があります。 TagArrayJSは、image-numberを呼び出す配列を各位置に持っています。 PhotoIdArrayJSには、非表示機能で使用されるIDがあります。
質問ですが、これらのデータを使用して関数を作成して、非表示の関数を呼び出したい回数はどのようにすればよいですか?
/おかげ
可能であれば、jQueryを使用することをお勧めします。これはコードを大幅に簡略化します。 –
私は同じことを考えていました。 jQueryはあなたの問題に対する答えです。あなたがそこで行っているネストされたforループは、見るのが楽しいですが、維持するためのそのような痛みです。 jQueryを学ぶのにちょっとした時間を投資してください。 – sngregory
それはおそらく、私は私がやっていることを理解することができるように自分自身を作ってみるだろうが、私はもっとスクリプトを学びたいと思うだろう:) – WibergAnders