私はまったく一緒にjqueryを初めて使用します。基本的に、私が行ったことは、ajax 呼び出しから取得した画像から作成された動的ギャラリーを作成することです。画像は順序付けられていないリストに追加され、画像ギャラリーに固有の特別な css 形式を受け取ることになっています。他の ul リストはそのままです。すべてがうまく機能しますが、ギャラリーを表示すると、適切な css フォーマットが画像にレンダリングされません。私はstackoverflow全体を検索し、.listview('refresh');を含む同様の問題に提示された多くのオプションを試しました。ajaxが完了した後:および他のいくつかのソリューション。何も機能していません。ページから移動して戻ると、書式設定が適用されます。これが私が取り組んでいる次のコードです。
ギャラリーへのリンク
$('ul#fieldList').append('<li id="albums"><a href="#Gallery1?" onClick="GetUserPhotos('+value.album_id+'); return false;"><img src="images/1.jpg"><h3>'+value.name+'</h3><p>'+value.description+'</p></a><div class="ui-li-count">'+value.count+' Images</div></li>');
onClick 関数
function GetUserPhotos(albumid) {
console.log("Get User Photos Function Ran");
var get_user_photos_album_id = albumid;
var get_user_photos_client_id = window.localStorage.getItem("client_id");
var get_user_photos_user_id = window.localStorage.getItem("user_id");
console.log("Assign Variables from local storage");
var formData = {
user_id: get_user_photos_user_id,
client_id: get_user_photos_client_id,
album_id: get_user_photos_album_id
}; //Array
$.ajax({
url: "client_photos.php",
type: "POST",
data: formData,
async: "false",
success: function (data) {
$("ul#photosList li#photos").remove();
$("#test1").html('');
//data - response from server
var PhotoData = $.parseJSON(data);
console.log("PhotoData json data parsed");
$("ul#fieldList li#albums").remove();
$.each(PhotoData, function (key, value) {
$('ul#photosList').append('<li id="photos"><a rel="' + value.album + '" href="http://www.myphotoshootapp.com/cms/uploads/' + value.client_id + '/' + value.album + '/' + value.id + '.' + value.ext + '" class="swipebox" title="' + value.fullname + '""><img src="http://www.myphotoshootapp.com/cms/uploads/thumbs/' + value.client_id + '/' + value.album + '/' + value.id + '.' + value.ext + '" alt="' + value.fullname + '" /></a></li>');
});
Swipe();
},
complete: function () {
$('#ul#photosList').listview('create');
$.mobile.changePage("#Gallery1");
}
});
}
DIV アイテムの追加先
<div data-role="content">
<ul data-role="listview" data-inset="true" id="photosList">
<li id="title">Photos</li>
<div class="main" id="test1"><img src="images/ajax-loader.gif" alt="Loading..." /></div>
</ul>
</div>
そしてCSS
li#photos { float: left !important; width: 33.33333333% !important; }
li#photos a { display: block !important; margin: 5px !important; border: 1px solid #3c3c3c !important; }
li#photos img { display: block !important; width: 100% !important; height: auto !important; }
私が言ったように、私はこれにかなり慣れていないので、ここで他の多くの質問を読んで多くのことを学びましたが、これは理解できません. 助けてくれてありがとう。
最初の訪問では、ui-btn、ui-btn-icon-right、ui-li-has-arrow、ui-li、ui-li-has-thumb、ui-btn-up-c などの追加のクラスの束が追加され、2 回目は通常の書式設定のみが適用されます。
最初の訪問 この画像は、最初のページ訪問時に css フォーマットがどのように見えるかを示しています。
2 回目の訪問 この画像は、ページに戻ったときに CSS の書式設定がどのように見えるかを示しています (LIKE ITS SUPPOSED TO) ここに画像があります