0

jQuery ツール ( http://flowplayer.org/tools/overlay/index.html )に関する初心者向けの質問がもう 1 つあります。画像がクリックされたときにオーバーレイがトリガーされ、HTML 本文で比較的このように見えるコードがあります。

<img id = "shark" src = "http://static.guim.co.uk/sys-images/Education/Pix/picture
s/2000/11/13/shark.jpg" alt = "click" />

<div id = "overlayFrame">
    <div id = "overlayContent"></div>
</div>

<script type= "text/javascript">
    var clickable = document.getElementById('shark');
    clickable.onmousedown = ImageClick;
    
    function ImageClick(e)
    {
        console.log("image clicked");
        $("#overlayFrame").overlay
        ({
            mask: 'darkgrey',
            oneInstance: false,
            
            onBeforeLoad: function()
            {
                var wrap = this.getOverlay().find("#overlayContent");
                wrap.load("overlay.htm");
            },
            
            load: true
        });
    }
</script>

画像がクリックされるたびにオーバーレイが表示されるようにします。現在、画像がクリックされるたびに「クリックされた画像」がコンソールに出力されますが、オーバーレイは初回のみ発生します。このコードを変更して、オーバーレイが毎回発生するようにするにはどうすればよいですか?

4

1 に答える 1

0

特定のコードはテストしていませんが、overlay()。load()を毎回呼び出すことで、プログラムでロードを繰り返すことができるという同じ問題を解決しました。私はこれがあなたのために働くと思います。以下の最後の行を参照してください。

<script type= "text/javascript">
var clickable = document.getElementById('shark');
clickable.onmousedown = ImageClick;

function ImageClick(e)
{
    console.log("image clicked");
    $("#overlayFrame").overlay
    ({
        mask: 'darkgrey',
        oneInstance: false,

        onBeforeLoad: function()
        {
            var wrap = this.getOverlay().find("#overlayContent");
            wrap.load("overlay.htm");
        },

        load: true
    }).load(); // This is the only code I added
}
</script>
于 2012-12-14T00:45:05.143 に答える