0

表示する必要がある写真のリストがあります。写真のリストは非常に大きい (500 以上) ため、a タグの href 属性の html コードで個別に名前を付けてそれぞれを読み込みたくありませんでした。したがって、javascript を使用して 1 ずつインクリメントされたファイル名を生成すると、正しいファイルパスが生成されます。これがJavaScriptです:

function bigpicture()
    {
        var filepath = "\"images/print/latest/" ;
        var ext = ".png\"";
        var total = filepath + num + ext;
        document.write(total)
        num = num + 1;
    }

bigpicture() を呼び出すと、正しいファイルパスと名前が取得され、複数の呼び出しもすべてインクリメントされます。私の問題は、次のように、この文字列を a タグの href 属性の後に表示することです。

HTML

<div class = "big">
        <ul>    
            <li>
                <a href=<script>bigpicture()</script> rel="lightbox" title=""><img class="floated_img" img src="images/print/latest/small/1.png" /></a>
            </li>

        </ul>
</div>

このような関数を呼び出すことができると (誤って) 想定していましたが、機能しません。href の後にスティングが表示されるようにスクリプトを実行する方法を誰か教えてもらえますか? ありがとうございました。

4

2 に答える 2

1

onclick関数をハンドラー内に配置できます。

onclickハンドラーは、変数を a-node にバインドしますthis

ライトボックスと組み合わせて、前にハンドラーが必要な場合がありonclickますonmousedown

javascriptを介してボタンクリックで<a>タグのhrefを変更する方法

于 2013-05-29T07:36:30.500 に答える
0

関数呼び出しは、onload や onsubmit などの html コード内のイベントにバインドされていないため、実行されないため、この方法は機能しません。

jQueryを使用ulしてbigdivに追加します。への呼び出しbigpicture()は次のようになります。

<script>

  function bigpicture()
  {
    var filepath = "./images/print/latest/" ;
    var ext = ".png\"";
    for(var i = 0; i < numOfPictures; i++){
        $('#big ul').append('<li>' + filepath + i + ext + '</li>');
      }

  }

  $(function(){     //this is jQuery shorthand for document ready
      bigpicture(); //anything in this anonymous function will execute
    })              //after HTML document has been loaded

</script>

ドキュメントの準備完了情報はここから来ます

于 2013-05-29T07:47:36.597 に答える