关于在HTML5中读取SQLite,动态加载列表时页面闪烁有关问题

关于在HTML5中读取SQLite,动态加载列表时页面闪烁问题
困扰我一周多了,望高手帮忙解决下,不胜感激。
问题1:读取SQLite的事物操作总是最后执行,有没好办法,可以让我在得到数据库数据后,再加载整个页面,现在执行顺序是先执行alert(“aa”),再执行alert(“bb”),其实现效果就是,仿佛读取数据库的所有事务操作被放在初期化加载之后执行,页面先初始化加载一次,然后又被动态加载了一次,导致页面显示不同步。关于不同步的解释在问题2中。
问题2:我只是用谷歌浏览器本地运行的代码,点刷新的时候,一部分静态页面闪了一下,一部分静态页面不闪(跟没刷新似的),而动态加载的DOM必闪一下。我现在想达到的效果是要不整个页面全闪下,要不全部闪。部分代码如下
<script type="text/javascript">
$("#pageId").live("pagebeforecreate",function(){
if (window.openDatabase == undefined) {
alert("不支持Web Database!!");
return;
}
db = window.openDatabase("ikea.db", "1.0", "ikea_database", 1024 * 1024);

db.transaction(function(tr) {
var query1  = 
"CREATE TABLE IF NOT EXISTS Catalog_tbl1111(" +
"  ctl_id INTEGER  PRIMARY KEY,     " +
"  ctl_catalog    TEXT NOT NULL             " +
")";
tr.executeSql(query1, [] ,loadItems);
alert("bb");
});

alert("aa");
});
function loadItems() {
db.transaction(function(tr) {
var query = "select * from Commodity_tbl where cmd_tpbId = '1' ";
tr.executeSql(query, [], loadItems_onResult);
});
}
function loadItems_onResult(tr, rs) {
for (var i = 0; i < rs.rows.length; i++) {
var row = rs.rows.item(i);
var cmd_id = row.cmd_id;
var cmd_commodity = row.cmd_commodity;
$("#si_ul").append("<li id='"+ cmd_id +"'></li>");
$("#" + cmd_id).append("<a href='link_page/Template_page.htm'>" + cmd_commodity + "</a>");
}
}
</script>
------解决方案--------------------
哎,没人回答啊