jEasyUI 建立 RSS閱讀器
在本教學中,我們將透過 jQuery EasyUI 框架建立一個 RSS 閱讀器。
我們將使用以下外掛程式:
layout:建立應用程式的使用者介面。
datagrid:顯示 RSS Feed 清單。
tree:顯示 feed 頻道。
步驟1:建立佈局(Layout)
<body class="easyui-layout"> <div region="north" border="false" class="rtitle"> jQuery EasyUI RSS Reader Demo </div> <div region="west" title="Channels Tree" split="true" border="false" style="width:200px;background:#EAFDFF;"> <ul id="t-channels" url="data/channels.json"></ul> </div> <div region="center" border="false"> <div class="easyui-layout" fit="true"> <div region="north" split="true" border="false" style="height:200px"> <table id="dg" url="get_feed.php" border="false" rownumbers="true" fit="true" fitColumns="true" singleSelect="true"> <thead> <tr> <th field="title" width="100">Title</th> <th field="description" width="200">Description</th> <th field="pubdate" width="80">Publish Date</th> </tr> </thead> </table> </div> <div region="center" border="false" style="overflow:hidden"> <iframe id="cc" scrolling="auto" frameborder="0" style="width:100%;height:100%"></iframe> </div> </div> </div> </body>
步驟2:資料網格(DataGrid)處理事件
在這裡我們要處理一些由使用者觸發的事件。
$('#dg').datagrid({ onSelect: function(index,row){ $('#cc').attr('src', row.link); }, onLoadSuccess:function(){ var rows = $(this).datagrid('getRows'); if (rows.length){ $(this).datagrid('selectRow',0); } } });
本實例使用 'onSelect' 事件來顯示 feed 的內容,使用 'onLoadSuccess' 事件來選擇第一行。
步驟3:樹狀選單(Tree)處理事件
當樹狀選單(Tree)資料已經加載,我們需要選擇第一個葉子節點,呼叫'select' 方法來選擇該節點。 使用 'onSelect' 事件來得到已選取的節點,這樣我們就能得到對應的 'url' 值。 最後我們呼叫資料網格(DataGrid) 的 'load' 方法來刷新 feed 列表資料。
$('#t-channels').tree({ onSelect: function(node){ var url = node.attributes.url; $('#dg').datagrid('load',{ url: url }); }, onLoadSuccess:function(node,data){ if (data.length){ var id = data[0].children[0].children[0].id; var n = $(this).tree('find', id); $(this).tree('select', n.target); } } });