使用jQuery开发一个响应式超酷整合RSS信息阅读杂志

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

如果大家喜欢阅读博客文章的话,可能都会使用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阅读杂志,如果你有任何问题,请给我们留言,谢谢!

时间: 2024-08-27 00:17:19

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

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

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

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

AudioPlayer.js是一个响应式.支持触摸操作的HTML5 的音乐播放器.本文是对其官网的说用说明文档得翻译,博主第一次翻译外文.不到之处还请谅解.之处. JS文件地址:http://osvaldas.info/examples/audio-player-responsive-and-touch-friendly/audioplayer.js 你可以在右键点击上面的地址,然后选择另存为把JS文件保存到本地. 英文原文地址:http://osvaldas.info/audio-player

0083 移动端WEB开发之响应式布局、bootstrap

移动端WEB开发之响应式布局 1. 响应式开发原理 1.1 响应式开发原理 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的. 设备的划分情况: 小于768的为超小屏幕(手机) 768~992之间的为小屏设备(平板) 992~1200的中等屏幕(桌面显示器) 大于1200的宽屏设备(大桌面显示器) 1.2 响应式布局容器 响应式需要一个父级做为布局容器,来配合子级元素来实现变化效果. 原理就是在不同屏幕下,通过媒体查询来改变这个布局容器的大小,再改变里面子元素的排列

移动开发与响应式网站

今天说一下移动互联网的开发与响应式网站的一些东西. [viewport基本知识] 1.1.width=device-width:设置viewport视口宽度等于设备宽度 2.initial-scale=1:网页默认缩放比为1(网页在手持设备上不会进行缩放) 3.minimum-scale=1:网页最小缩放比为1 4.maximum-scale=1:网页最大缩放比为1 5.user-scalable=no:禁止用户手动缩放网页.在ios10以上的设备失效 [一些在移动开发和响应式网站中用到的语句(

做一个响应式网站需要多长时间

以传统的响应式建站模式来讲,做一个响应式网站需要的时间是很长的.抛开页面设计和模块的结合,光是网站的结构和网站布局就需要花费很长时间.还没计算建站前的准备工作,网站的策划等等.所以一般让企业对响应式网站望而止步的因素不单单是建站的费用,还有就是建站的时间过长,让网站的上线收到延迟,没有办法能够抢在黄金时间上线.那做一个响应式网站要多久呢?一般以企业展示型网站来统计,找建站公司来搭建大概需要3-6个月时间,如果是自己找开发团队时间大概要2-3个月时间.所以企业对于响应式网站既是爱,又是狠. 有什么

如何评定一个响应式网站的好坏

一个响应式网站的好坏,是否受人欢迎?这些都要取决于网站的整体情况,从网站建设到网站运营,每一个步骤和环境都需要很好的统筹规划.很多人评定一个响应式网站的好坏,都只是单单的从表面的迹象来看,并没有结合整体来评定.往往光看一个响应式网站的展现方式多么炫酷,功能多么强大,却没有看网站的内容.网站的结构.页面的衔接等等的方面,就评定说这是一个好网站. 好的响应式网站该具备什么样的标准?一个好的响应式网站最基本的要求:1.访问速度快2.网站稳定3.页面整洁4.结构清晰5.没有被搜索引擎处罚过 对于怎么样评

jQuery和css3响应式带全屏模式的图片画廊插件

这是一款效果相当炫酷的jQuery和css3响应式带全屏模式的图片画廊插件.该图片画廊插件使用CSS3 Animations来制作动画.该响应式图片画廊插件支持移动触摸设备,支持使用键盘来导航,同时支持HTML5全屏模式API. 在线演示:http://www.htmleaf.com/Demo/201502101360.html 下载地址:http://www.htmleaf.com/jQuery/Slideshow-Scroller/201502101359.html

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

这是一个响应式设计的菜单.单击列表图标,当你显示屏大小可以完全水平放下所有菜单项时,菜单水平显示(如图1).当你的显示屏不能水平放置所有菜单项时,菜单垂直显示(如图2). 而且显示的时候是以动画的型式显示.效果相当的好. 点击这里在线预览 下面贴出实现这功能的源代码,这是一个纯用css3实现的菜单 html代码: <div class="container"> <!--[if lte IE 8]> <style> .iconicmenu > l

响应式重构,如何把一个固定页面重构为一个响应式页面:

上周末时接到公司安排下来的任务, 要我一个人在一周内把一个项目里的所有固定页面转换为响应式的页面,14个页面,虽说做成响应式不难,但是,先理解别人的代码,然后通过修改别人的代码,把一个页面转换为一个响应式的页面,还是没有那么简单的,公司觉得这个任务简单,于是把这个任务交给了我这个新手. 在重构一个页面时,我的思路如下: 一.拿到一个页面,你首先要考虑这个页面我是该重新做呢还是在现有的基础上去修改呢? 我这是这么判断的,首先看他的html结构,是否符合响应式的要求,如果符合,就在现有的基础去修改,