0

インライン要素、特に要素に問題があり<a>ます。それは次のとおりです。

<a class="text></a>

.text{
display:inline-block;
background:red;
padding:5px
}

問題は、JSON で保持しているテキストを読み込むことです。背景をテキストの長さにしたいのですが、問題はhtmlがロードされてからjsonがロードされるため、テキストの長さを取得できません。固定幅を設定することもできますが、テキストのサイズにしたいです。オプションはありますか?ありがとう!

編集:問題を引き起こすように思われるのは、他のどのブラウザーよりもクロムです。

Javascript:

$(document).ready(function() {
var data;
function loadContent(){ 
    $.ajax({
        url: "json/content.json",
        data: "nocache=" + Math.random(),
        type: "GET",
        contentType: "application/json",
        dataType: "json",
        success: function(source){
            data = source;
            showInfo();
        },
        error: function(data){
            alert("Failed to load content");
        }
    }); 

}

loadContent();
    function showInfo(){
        $(".text").html(data[lang]['startpage']['text']);
}
});
4

1 に答える 1

0

これで問題が解決するかどうかは100%ではありませんが、(宣言されていない)変数sourceを使用する代わりに関数に渡して、このようにしてみてください。data

$(document).ready(function() {

function loadContent(){ 
    $.ajax({
        url: "json/content.json",
        data: "nocache=" + Math.random(),
        type: "GET",
        contentType: "application/json",
        dataType: "json",
        success: showInfo,
        error: function(data){
            alert("Failed to load content");
        }
    }); 

}

loadContent();

function showInfo(data){
    $(".text").html(data[lang]['startpage']['text']);
}
});

アップデート

同じ行ですべての div を取得するには、#game-navからinlineに変更しinline-blockます。

#game-nav li {
    display: inline-block;
}

display:inline要素 (like<b>または<span>wrap はここで必要なものではありません。インライン ブロックは新しい行に折り返すことができますが、単語の途中で改行することはありません。

于 2013-03-27T11:46:21.127 に答える