2017-10-07 3 views
0

私は、それぞれのアイテムが同じスタイルで、新しいIDかそのようなものであるアイテムのリストを持つ静的なウェブサイトを持っています。私は現在、リストに古いアイテムをコピーして貼り付け、アイテムを追加するためにその内容を変更しますが、手作業で手続きを行うことは古風な感じです。私が望むアイテムを持つファイルを作成し、各アイテムのhtmlを指定し、それを生成して静的なサイトのindex.htmlを取得するためのフレームワークがありますか?私が知っているPythonスクリプトを書くことができましたが、私が知り得ないものが既に存在するような気がします。自分のデータを使ってhtmlを生成する最良の方法は何ですか?

+0

それは、関連する質問をコーディングていないことから、https://softwarerecs.stackexchange.com/はそれのためのより良いフィットかもしれません。 – rsm

+0

広い質問をすると、重い荷物を積み重ねるためにjQuery関数を作成し、項目データをオブジェクト(JSONデータに似ています)に読み込むことができます。 ? – Syden

+0

ありがとう、皆さん。 @サイデン、私はそれがすべてのページの負荷を行うためにクライアントリソースの無駄だろうと思う。私はサイトをプッシュする前にそれを自分で作成しても問題ありませんが、実際にはjQueryの経験がないので、あなたが示唆していることについて読んでみたい –

答えて

1

動的に生成されたjQueryの一般的な例()適切でない場合はコメントしてください。を削除します。

  1. アイテムデータをオブジェクトに配置します(タイトル、リンク、画像、説明など)。
  2. 新しいアイテムをitems配列に追加します。
  3. HTMLを動的に生成するループスルーアイテム配列。

$(document).ready(function() { 
 
    //initialize function 
 
    showItems(); 
 
}) 
 

 
//add data to object 
 
var item1 = { 
 
    img: 'https://placehold.it/100x100', 
 
    id: '#img' 
 
}; 
 
var item2 = { 
 
    img: 'https://placehold.it/100x100', 
 
    id: '#img2' 
 
}; 
 
var item3 = { 
 
    img: 'https://placehold.it/100x100', 
 
    id: '#img3' 
 
}; 
 
var item4 = { 
 
    img: 'https://placehold.it/100x100', 
 
    id: '#img4' 
 
}; 
 

 
//add objects to array 
 
var items = [item1, item2, item3, item4]; 
 

 
//loop through array and generate html 
 
function showItems() { 
 
    for (var i = 0; i < items.length; i++) { 
 
    $('.flex-container').append('<li><img src="' + items[i].img + '"><h3>' + items[i].id + '</h3></li>'); 
 
    } 
 
}
.flex-container { 
 
    display: flex; 
 
    flex-flow: row wrap; 
 
    justify-content: center; 
 
    padding: 0; 
 
} 
 

 
.flex-container li { 
 
    margin: 20px; 
 
    text-align: center; 
 
    list-style: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul class="flex-container"></ul>

関連する問題