申请达人,去除赞助商链接

如果大家喜欢阅读博客文章的话,可能都会使用RSS阅读器,今天这里我们将使用jQuery来开发一个响应式的RSS信息阅读应用,使用它你可以将你喜欢的RSS文章以聚合的方式显示在同一个页面,类似一本在线的杂志或者刊物,你也可以自定义配置用来设定需要访问的RSS源,希望大家喜欢!

使用的js类库和jQuery插件:

HTML代码

HTML代码非常简单,由显示内容,RSS设置窗口及其遮盖层组成

生成RSS阅读信息内容的html代码如下:

  1. <div id="title">
  2. <h1 style="padding:10px;font-size:50px;">gbin1 rss feed magazine</h1>
  3. <div id="config"><a id="setting" href="#"></a></div>
  4. </div>
  5. <div id="content"></div>

生成RSS配置弹出窗口及其遮盖层html代码如下:

  1. <div id="modelwrapper"></div>
  2. <div id="model">
  3. <h2>add new feed</h2>
  4. <div>
  5. RSS url: <input id="rssvalue"type="text" placeholder="eg. http://feed.feedsky.com/GBin1" /><input type="button" value="save" id="saverss"/><input type="button" value="+" id="addrss"/>
  6. </div>
  7. <ul id="rsslist">
  8. </ul>
  9. </div>
 
 

Javascript代码

从Cookie中取得当前的RSS内容,这里使用sociallist插件来取得RSS信息内容,并且使用cufon来美化字体:

  1. $(document).ready(function () {
  2. $('#setting').animate({opacity:0.4}).animate({opacity:1})
  3. Cufon.replace('body').CSS.ready(function() {
  4. if (cookie.enabled()) {
  5. } else {
  6. alert('you need to enable the cookie, thanks!');
  7. }
  8. var rsslinks = cookie.get('gbin1-rsslinks');
  9. if(rsslinks==null){
  10. cookie.set('gbin1-rsslinks', 'http://feed.feedsky.com/GBin1');
  11. rsslinks = 'http://feed.feedsky.com/GBin1';
  12. }
  13. var rsslinklist = rsslinks.split('|');
  14. var rsslistarray = new Array();
  15. for(a=0;a<rsslinklist.length;a++){
  16. if(rsslinklist[a].trim()!==''){
  17. rsslistarray.push({name:'rss', id:rsslinklist[a]});
  18. }
  19. }
  20. $('#content').socialist({
  21. networks: rsslistarray,
  22. isotope:true,
  23. random:false,
  24. textLength: 800,
  25. theme: 'none',
  26. maxResults: 50,
  27. fields:['source','heading','text','date','image','followers','likes']
  28. });
  29. });
  30. });
 

下面代码控制弹出的RSS配置对话框,并且保存RSS到用户当前浏览器的cookie中:

  1. $(function(){
  2. $('#config').on('click', function(){
  3. console.log('config');
  4. var model = $('#model');
  5. var w = $(window).width();
  6. var h = $(window).height();
  7. var left = w/2 - model.outerWidth()/2;
  8. var top = h/2 - model.outerHeight()/2;
  9. $('#modelwrapper').fadeIn();
  10. $('#model').animate({left:left, top:top}).fadeIn();
  11. var rssliststr = '';
  12. var rsslinks = cookie.get('gbin1-rsslinks');
  13. var rsslinklist = rsslinks.split('|');
  14. for(a=0;a<rsslinklist.length;a++){
  15. if(rsslinklist[a].trim()!==''){
  16. rssliststr += '<li><a style="color:red" class="deleteit" href="#">[x]</a>&nbsp;<span>' + rsslinklist[a] + '</span></li>';
  17. }
  18. }
  19. $('#rsslist').html(rssliststr);
  20. Cufon.refresh();
  21. });
  22. var addcxt = $('#addrss').on('click', function(){
  23. var url = $('#rssvalue').val(),
  24. rss = '<span>' + url + '</span>',
  25. addbutton = $('#addrss');
  26. $(this).val('add...');
  27. $.getFeed({
  28. url: url,
  29. success: function(feed) {
  30. console.log(feed.title);
  31. $('#rsslist').append('<li><a style="color:red" class="deleteit" href="#">[x]</a>&nbsp;' + rss + '</li>');
  32. Cufon.refresh();
  33. addbutton.val('+');
  34. },
  35. error: function(){
  36. alert('Please ensure it is a valid RSS url');
  37. addbutton.val('+');
  38. }
  39. });
  40. });
  41. $('#saverss').on('click', function(){
  42. var rsslinks='';
  43. $('#model').fadeOut(400);
  44. $('#modelwrapper').fadeOut(600);
  45. $('#rsslist li').each(function(){
  46. rsslinks = rsslinks + '|' + $(this).find('span').text();
  47. });
  48. cookie.set('gbin1-rsslinks', rsslinks, {
  49. expires: 30
  50. });
  51. location.reload();
  52. });
  53. $('#rsslist').on('click', '#rsslist .deleteit', function(){
  54. $(this).closest('li').remove();
  55. });
  56. });
 
 

注意以上代码我们自己实现了一个遮盖层来突显对话框效果,并且在用户保存RSS前判断RSS地址是否正确。

在线演示

我们添加一个新的RSS地址: http://www.leiphone.com/feed (雷锋网)

保存RSS地址后返回主界面显示所有的RSS内容:

大家可以看到列出了gbin1和雷锋网的所有最新的RSS文章种子。如果你缩放浏览器窗口,可以看到内容随着窗口大小自适应显示,是不是很不错?

希望大家喜欢这个在线整合RSS阅读杂志,如果你有任何问题,请给我们留言,谢谢!

使用jQuery开发一个响应式超酷整合RSS信息阅读杂志的更多相关文章

  1. Bootstrap3.1开发的响应式个人简历模板

    在线演示 使用bootstrap3快速开发一个响应式的个人简历,如果有兴趣了解如何开发,请访问GB课程库,地址如下: Bootstrap3构建响应式前端设计师简历模板 http://www.gbtag ...

  2. AudioPlayer.js,一个响应式且支持触摸操作的jquery音频插件

    AudioPlayer.js是一个响应式.支持触摸操作的HTML5 的音乐播放器.本文是对其官网的说用说明文档得翻译,博主第一次翻译外文.不到之处还请谅解.之处. JS文件地址:http://osva ...

  3. Web移动前端开发-——bootstarp响应式框架

    移动端WEB开发之响应式布局 1.0 响应式开发原理 1.1 响应式开发原理 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的. 设备的划分情况: 小于768的为超小屏幕 ...

  4. 一个响应式框架——agera

    Google在上周开源了一个响应式框架——agera,相信它会慢慢地被广大程序员所熟知.我个人对这样的技术是很感兴趣的,在这之前也研究过RxJava,所以在得知Google开源了这样的框架之后第一时间 ...

  5. 一个响应式数据库框架SQLBrite,完美解决数据库和UI的同步更新!

    相信小伙伴们在开发中或多或少都可能遇到过这样的问题:打开一个应用后,为了快速响应,先将数据库中的数据呈现给用户,然后再去网络上请求数据,请求成功之后将数据缓存至数据库,同时更新UI,但是我们经常会这样 ...

  6. 使用media Queries实现一个响应式的菜单

    Media queries是CSS3引入的一个特性,使用它可以方便的实现各种响应式效果.在这个示例中我们将会使用media queries实现一个响应式的菜单.这个菜单会根据当前浏览器屏幕的大小变化而 ...

  7. media Queries实现一个响应式的菜单

    使用media Queries实现一个响应式的菜单   Media queries是CSS3引入的一个特性,使用它可以方便的实现各种响应式效果.在这个示例中我们将会使用media queries实现一 ...

  8. 纯css3开发的响应式设计动画菜单(支持ie8)

    这是一个响应式设计的菜单.单击列表图标,当你显示屏大小可以完全水平放下所有菜单项时,菜单水平显示(如图1).当你的显示屏不能水平放置所有菜单项时,菜单垂直显示(如图2). 而且显示的时候是以动画的型式 ...

  9. 一款由css3和jquery实现的响应式设计导航

    2014年响应式设计成为设计主流.今天要给大家带来一款由css3和jquery实现的响应式设计导航.当显示器为pc时,导航为横条.当客户端为移动端时,呈现坚形导航.我们一起看下效果图: 在线预览    ...

随机推荐

  1. ios调用第三方程序打开文件,以及第三方调用自己的APP打开文件

    1.自己的APP调用第三方打开文件 主要是使用  UIDocumentInteractionController  类   并实现 UIDocumentInteractionControllerDel ...

  2. StringGrid 实例1:初始化StirngGrid的首行和首列

    实例1:初始化StirngGrid的首行和首列

  3. WordPaster-Firefox浏览器控件安装方法

    将WordPaster.xpi拖到Firefox扩展面板中安装       新版Firefox可能无法通过验证,如果Firefox提示无法安装,则需要进入about:config中将xpinstall ...

  4. HIVE几种数据导入方式

    HIVE几种数据导入方式 今天的话题是总结Hive的几种常见的数据导入方式,我总结为四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3).从别的表中查询 ...

  5. AndroidStudio Lod.d在LogCat中不输出

    今天Log.d无论怎样都没有输出. 要在手机开发者选项那开启权限,莫名其妙,之前一直都没事的,具体操作参考:http://jingyan.baidu.com/article/84b4f56597e7b ...

  6. 发布一个简单的knockout-easyui绑定库

    最近做事情总是南辕北辙,拖延症越发严重了起来.原先计划早就要完成的这个项目也拖延了近两个月后总算勉勉强强发布了(最开始设想的部分功能就这么砍了,好吧纯粹个人太懒) knockout作为老牌的mvvm框 ...

  7. ASP.NET MVC 下拉列表使用小结

    ASP.NET MVC中下拉列表的用法很简单,也很方便,具体来说,主要是页面上支持两种Html帮助类的方法:DropDownList()和DropDownListFor().这篇博文主要作为个人的一个 ...

  8. Salesforce 生成测试可用 Id

    在写 Test Class 的时候,有时候需要一批有 Id 的数据或者把 Id 作为参数等情况,在数据关系比较复杂的情况下去造真实数据有些麻烦,于是找到这样一个可以生成 Id 的方法可以用来辅助测试! ...

  9. ajax请求的异步嵌套问题分析

    (本文章以as3代码为例) 问题的产生 在前端开发时,经常会使用到Ajax(Asynchronous Javascript And XML)请求向服务器查询信息(get)或交换数据(post),aja ...

  10. Kali Linux Web 渗透测试视频教程—第十课 w3af

    Kali Linux Web 渗透测试视频教程—第十课 w3af 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/24/kali-linux-web- ...