0

ページが最初に開かれたときに、ポップアップ ライトボックス ウィンドウを読み込もうとしています。クリックで動作させることはできますが、スクリプトにクラスを追加するためのコードを正しく取得できません。HTMLキックスタート内から「ライトボックス」を使用しています。

機能するリンクは次のよう<a class="lightbox" href="#bbc">BBC</a>になります。これは完全に機能します。基本的に、ページの読み込み時にそれを自動的に機能させるにはどうすればよいですか。

スクリプトでの私の試み:

<script type="text/javascript">
    function load() {
        var target = location.href = "#bbc";
        target.className = "lightbox";
    }
</script> 
4

4 に答える 4

0

タイトルを無視してこの質問を読んだ方法は、ユーザーがロード時にライトボックスをトリガーしようとしているということです。これは間違った仮定かもしれませんが、javascript を使用してリンクをトリガーする方法は、次の.click()メソッドを使用することです。

window.onload = function(){
  var i, list = document.getElementsByTagName('a');
  for ( i=0; i<list.length; i++ ) {
    /// this will only work for links with only a class name of lightbox.
    /// you could look into using getElementsByClassName or something similar.
    /// I use getElementsByTagName because I know how supported it is.
    if ( list[i].className == 'lightbox' ) {
      list[i].click();
    }
  }
};

上記のコードは、ページ内の複数のライトボックス リンクをサポートしますが、これは望ましくない可能性があるため、idターゲットにしたいリンクに を追加してから使用するのが最善の方法です。

window.onload = function(){
  document.getElementById('clickonload').click();
};

<a id="clickonload" class="lightbox" href="#bbc">BBC</a>

ただし、使用しているライトボックス プラグインのドキュメントを読むと、ターゲット リンクをクリックするのではなく、JavaScript から使用できるコマンドがあることに気付く場合があります。

于 2013-05-28T10:50:35.300 に答える
0
$(window).load(function () {
    var target = location.href = "#bbc";
    target.className = "lightbox";
});
于 2013-05-28T10:31:53.807 に答える
0

タグのイベントでload()関数を呼び出す必要があります。onLoad<body>

<body onLoad="load()">
于 2013-05-28T10:31:04.897 に答える