無限滾動加載資料問題
做移動端程式的時候,經常會遇到無限滾動的功能,通常實作無限滾動的方式是頁面滾動到底部後出發一個ajax請求,後端傳回資料然後動态追加DOM,但是如果DOM結構很複雜,追加的時候拼接HTML會很複雜,比如之前做過的一段程式,如下:
$.each(response.data, function(key, task){
var html = '
';
html += '
';
html += '
';
html += '
';
html += '
';
html += '
';
html += '';
html += task.user_nickname;
html += '';
html += '';
html += task.category_name
html += '';
html += '
';
html += '
';
html += task.city
html += '
';
html += '
';
html += '
';
html += ' ';
html += '
';
html += '';
html += '截止時間:' + task.deadline
html += '';
if (task.openid == openid) {
html += '';
html += '删除';
html += '';
}
if (task.is_expired == 1) {
html += '';
html += '已過期';
html += '';
}
html += '
';
html += '
';//
html += '
';
html += '
$('.task-container').append(html);
});
對于這種HTML結構封裝的時候必須得非常小心,如果漏掉了某個标簽,造成标簽未閉合,很可能就造成整個頁面樣式錯亂(自己都覺得這段代碼太爛了)。
對于這種情況,大家有什麼比較友善的方法麼?
相關閱讀:
如何判斷電話是被本地挂斷的還是被遠端挂斷的?
scrapy模拟登入時遇到的問題?
求好的移動端 react 元件插件,包括: datepicker, select
Gruntfile.js 配置好之後, 運作grunt指令, js文法錯誤為什麼不提示, 隻是提示檔案修改了
一個很複雜的MYSQL排序實作
nodejs做websocket聊天的安全問題
C 的scanf數組奇怪問題??
項目的構架經驗
這行input name value 代表了什麼 如果是請求 怎麼阻止
我該怎麼寫這個delete函數呢? 我現在寫成這樣了,但是隻能删除頁面的item,不能把删除的部分傳給伺服器
請教浏覽器相容問題
Json轉化的時區問題
android使用?引用顔色資源,程式閃退?
一個react+webpack打包出錯的初級問題。
SQL sever2014安裝失敗
php的null
為什麼td 和 tr 标簽不能用 v-for
MPI的MPI_Barrier()和MPI_Finalize()函數的正确使用方法?
這個根據滾動條位置自動翻頁是怎麼實作的?
zsh顯示~問題