0

作成したライトボックスのJSONファイルからコンテンツを読み込みます。ライトボックスは別のhtmlを開きます。そのhtmlでは、JSONファイルから読み込まれたデータをさまざまな要素に追加します。ただし、ライトボックスを開いたときに一度だけ追加したいのですが、どうすればよいですか?

$(document).on('click', '.mch-overlay-info', function(e){
    e.preventDefault();
    var href = $(this).attr('href');
    $('#mch-overlay-content').html('');
    $('#mch-overlay').fadeIn(300);
    $('#mch-overlay-content').load(href, function() {
        showInfo(); 
    });
});

function showInfo(){

        $(".start .text3").append(data[lang]['startpage']['text3']);
        $(".start .text4").append(data[lang]['startpage']['text4']);
        $(".start .text5").append(data[lang]['startpage']['text5']);

}
4

1 に答える 1

2

私はあなたの問題は彼らがクリックするたびにそれが追加されるということだと思いますか?2つのオプション:

  1. 追加しないでください。$().html()コンテンツを設定し、古いコンテンツを置き換えるために使用するだけです。
  2. 変数による制御

    var hasBeenAppended = false;
    
    //etc...
    
    function showInfo(){
        if(!hasBeenAppended) {
            hasBeenAppended = true;
            $(".start .text3").append(data[lang]['startpage']['text3']);
            $(".start .text4").append(data[lang]['startpage']['text4']);
            $(".start .text5").append(data[lang]['startpage']['text5']);
        }
    
    }
    
于 2013-03-26T19:57:07.823 に答える