创建 RSS Feed 阅读器


在本教程中,我们将通过 jQuery EasyUI 框架创建一个 RSS 阅读器。

我们将使用以下插件:

  • layout:创建应用的用户界面。
  • datagrid:显示 RSS Feed 列表。
  • tree:显示 feed 频道。

步骤 1:创建布局(Layout)

  1. <body class="easyui-layout">
  2. <div region="north" border="false" class="rtitle">
  3. jQuery EasyUI RSS Reader Demo
  4. </div>
  5. <div region="west" title="Channels Tree" split="true" border="false" style="width:200px;background:#EAFDFF;">
  6. <ul id="t-channels" url="data/channels.json"></ul>
  7. </div>
  8. <div region="center" border="false">
  9. <div class="easyui-layout" fit="true">
  10. <div region="north" split="true" border="false" style="height:200px">
  11. <table id="dg" 
  12. url="get_feed.php" border="false" rownumbers="true"
  13. fit="true" fitColumns="true" singleSelect="true">
  14. <thead>
  15. <tr>
  16. <th field="title" width="100">Title</th>
  17. <th field="description" width="200">Description</th>
  18. <th field="pubdate" width="80">Publish Date</th>
  19. </tr>
  20. </thead>
  21. </table>
  22. </div>
  23. <div region="center" border="false" style="overflow:hidden">
  24. <iframe id="cc" scrolling="auto" frameborder="0" style="width:100%;height:100%"></iframe>
  25. </div>
  26. </div>
  27. </div>
  28. &lt;/body&gt;

步骤 2:数据网格(DataGrid)处理事件

在这里我们要处理一些由用户触发的事件。

  1. $('#dg').datagrid({
  2. onSelect: function(index,row){
  3. $('#cc').attr('src', row.link);
  4. },
  5. onLoadSuccess:function(){
  6. var rows = $(this).datagrid('getRows');
  7. if (rows.length){
  8. $(this).datagrid('selectRow',0);
  9. }
  10. }
  11. });

本实例使用 'onSelect' 事件来显示 feed 的内容,使用 'onLoadSuccess' 事件来选择第一行。

步骤 3:树形菜单(Tree)处理事件

当树形菜单(Tree)数据已经加载,我们需要选择第一个叶子节点,调用 'select' 方法来选择该节点。 使用 'onSelect' 事件来得到已选择的节点,这样我们就能得到对应的 'url' 值。 最后我们调用数据网格(DataGrid) 的 'load' 方法来刷新 feed 列表数据。

  1. $('#t-channels').tree({
  2. onSelect: function(node){
  3. var url = node.attributes.url;
  4. $('#dg').datagrid('load',{
  5. url: url
  6. });
  7. },
  8. onLoadSuccess:function(node,data){
  9. if (data.length){
  10. var id = data[0].children[0].children[0].id;
  11. var n = $(this).tree('find', id);
  12. $(this).tree('select', n.target);
  13. }
  14. }
  15. });

下载 jQuery EasyUI 实例


下载地址