使用jQuery开发一个响应式超酷整合RSS信息阅读杂志
如果大家喜欢阅读博客文章的话,可能都会使用RSS阅读器,今天这里我们将使用jQuery来开发一个响应式的RSS信息阅读应用,使用它你可以将你喜欢的RSS文章以聚合的方式显示在同一个页面,类似一本在线的杂志或者刊物,你也可以自定义配置用来设定需要访问的RSS源,希望大家喜欢!
使用的js类库和jQuery插件:
HTML代码
HTML代码非常简单,由显示内容,RSS设置窗口及其遮盖层组成
生成RSS阅读信息内容的html代码如下:
- <div id="title">
- <h1 style="padding:10px;font-size:50px;">gbin1 rss feed magazine</h1>
- <div id="config"><a id="setting" href="#"></a></div>
- </div>
- <div id="content"></div>
生成RSS配置弹出窗口及其遮盖层html代码如下:
- <div id="modelwrapper"></div>
- <div id="model">
- <h2>add new feed</h2>
- <div>
- 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"/>
- </div>
- <ul id="rsslist">
- </ul>
- </div>
Javascript代码
从Cookie中取得当前的RSS内容,这里使用sociallist插件来取得RSS信息内容,并且使用cufon来美化字体:
- $(document).ready(function () {
- $('#setting').animate({opacity:0.4}).animate({opacity:1})
- Cufon.replace('body').CSS.ready(function() {
- if (cookie.enabled()) {
- } else {
- alert('you need to enable the cookie, thanks!');
- }
- var rsslinks = cookie.get('gbin1-rsslinks');
- if(rsslinks==null){
- cookie.set('gbin1-rsslinks', 'http://feed.feedsky.com/GBin1');
- rsslinks = 'http://feed.feedsky.com/GBin1';
- }
- var rsslinklist = rsslinks.split('|');
- var rsslistarray = new Array();
- for(a=0;a<rsslinklist.length;a++){
- if(rsslinklist[a].trim()!==''){
- rsslistarray.push({name:'rss', id:rsslinklist[a]});
- }
- }
- $('#content').socialist({
- networks: rsslistarray,
- isotope:true,
- random:false,
- textLength: 800,
- theme: 'none',
- maxResults: 50,
- fields:['source','heading','text','date','image','followers','likes']
- });
- });
- });

下面代码控制弹出的RSS配置对话框,并且保存RSS到用户当前浏览器的cookie中:
- $(function(){
- $('#config').on('click', function(){
- console.log('config');
- var model = $('#model');
- var w = $(window).width();
- var h = $(window).height();
- var left = w/2 - model.outerWidth()/2;
- var top = h/2 - model.outerHeight()/2;
- $('#modelwrapper').fadeIn();
- $('#model').animate({left:left, top:top}).fadeIn();
- var rssliststr = '';
- var rsslinks = cookie.get('gbin1-rsslinks');
- var rsslinklist = rsslinks.split('|');
- for(a=0;a<rsslinklist.length;a++){
- if(rsslinklist[a].trim()!==''){
- rssliststr += '<li><a style="color:red" class="deleteit" href="#">[x]</a> <span>' + rsslinklist[a] + '</span></li>';
- }
- }
- $('#rsslist').html(rssliststr);
- Cufon.refresh();
- });
- var addcxt = $('#addrss').on('click', function(){
- var url = $('#rssvalue').val(),
- rss = '<span>' + url + '</span>',
- addbutton = $('#addrss');
- $(this).val('add...');
- $.getFeed({
- url: url,
- success: function(feed) {
- console.log(feed.title);
- $('#rsslist').append('<li><a style="color:red" class="deleteit" href="#">[x]</a> ' + rss + '</li>');
- Cufon.refresh();
- addbutton.val('+');
- },
- error: function(){
- alert('Please ensure it is a valid RSS url');
- addbutton.val('+');
- }
- });
- });
- $('#saverss').on('click', function(){
- var rsslinks='';
- $('#model').fadeOut(400);
- $('#modelwrapper').fadeOut(600);
- $('#rsslist li').each(function(){
- rsslinks = rsslinks + '|' + $(this).find('span').text();
- });
- cookie.set('gbin1-rsslinks', rsslinks, {
- expires: 30
- });
- location.reload();
- });
- $('#rsslist').on('click', '#rsslist .deleteit', function(){
- $(this).closest('li').remove();
- });
- });
注意以上代码我们自己实现了一个遮盖层来突显对话框效果,并且在用户保存RSS前判断RSS地址是否正确。
在线演示
我们添加一个新的RSS地址: http://www.leiphone.com/feed (雷锋网)


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

大家可以看到列出了gbin1和雷锋网的所有最新的RSS文章种子。如果你缩放浏览器窗口,可以看到内容随着窗口大小自适应显示,是不是很不错?
希望大家喜欢这个在线整合RSS阅读杂志,如果你有任何问题,请给我们留言,谢谢!
使用jQuery开发一个响应式超酷整合RSS信息阅读杂志的更多相关文章
- Bootstrap3.1开发的响应式个人简历模板
在线演示 使用bootstrap3快速开发一个响应式的个人简历,如果有兴趣了解如何开发,请访问GB课程库,地址如下: Bootstrap3构建响应式前端设计师简历模板 http://www.gbtag ...
- AudioPlayer.js,一个响应式且支持触摸操作的jquery音频插件
AudioPlayer.js是一个响应式.支持触摸操作的HTML5 的音乐播放器.本文是对其官网的说用说明文档得翻译,博主第一次翻译外文.不到之处还请谅解.之处. JS文件地址:http://osva ...
- Web移动前端开发-——bootstarp响应式框架
移动端WEB开发之响应式布局 1.0 响应式开发原理 1.1 响应式开发原理 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的. 设备的划分情况: 小于768的为超小屏幕 ...
- 一个响应式框架——agera
Google在上周开源了一个响应式框架——agera,相信它会慢慢地被广大程序员所熟知.我个人对这样的技术是很感兴趣的,在这之前也研究过RxJava,所以在得知Google开源了这样的框架之后第一时间 ...
- 一个响应式数据库框架SQLBrite,完美解决数据库和UI的同步更新!
相信小伙伴们在开发中或多或少都可能遇到过这样的问题:打开一个应用后,为了快速响应,先将数据库中的数据呈现给用户,然后再去网络上请求数据,请求成功之后将数据缓存至数据库,同时更新UI,但是我们经常会这样 ...
- 使用media Queries实现一个响应式的菜单
Media queries是CSS3引入的一个特性,使用它可以方便的实现各种响应式效果.在这个示例中我们将会使用media queries实现一个响应式的菜单.这个菜单会根据当前浏览器屏幕的大小变化而 ...
- media Queries实现一个响应式的菜单
使用media Queries实现一个响应式的菜单 Media queries是CSS3引入的一个特性,使用它可以方便的实现各种响应式效果.在这个示例中我们将会使用media queries实现一 ...
- 纯css3开发的响应式设计动画菜单(支持ie8)
这是一个响应式设计的菜单.单击列表图标,当你显示屏大小可以完全水平放下所有菜单项时,菜单水平显示(如图1).当你的显示屏不能水平放置所有菜单项时,菜单垂直显示(如图2). 而且显示的时候是以动画的型式 ...
- 一款由css3和jquery实现的响应式设计导航
2014年响应式设计成为设计主流.今天要给大家带来一款由css3和jquery实现的响应式设计导航.当显示器为pc时,导航为横条.当客户端为移动端时,呈现坚形导航.我们一起看下效果图: 在线预览 ...
随机推荐
- C#基础(1)
.NET的开发方向,有三种: ① 桌面开发系统,即WinForm: ② Internet应用程序,ASP.NET,其实也就是网站开发: ③ 手机开发,WP7,Windows Phone 7. .NET ...
- php Memcache/Memcached操作手册
php Memcache/Memcached使用教程 Memcache和Memcached 其实是一个东西,只是php中要是用的扩展不一样, 2009年左右有人丰富memcache的用法和性能,编写了 ...
- c# 中定时器的用法
来源于:http://blog.sina.com.cn/s/blog_62c501440100fog1.html System.Threading.Timer 是一个非常常用的定时器类,关于这个类的使 ...
- IT人士感言2(转)
01. 自己的户口档案.养老保险.医疗保险.住房公积金一定要保管好.由于程序员行业每年跳槽一次,我不隐瞒大家,我至少换过5个以上的单位,这期间跳来跳去,甚至是城市都换过3个.还好户口没丢掉,其他都已经 ...
- MVC项目创建与项目结构介绍
一.创建MVC项目 打开VS202,点击:文件—>新建—>项目—>Web—>Asp.Net MVC 4 Web应用程序 填好项目名称.解决方案名称和文件存放位置,然后点击确定, ...
- 5.4 String
JAVA 中为什么String 是immutable的? 1.设计:当创建一个String(String str2 = "abc"), 如果它(原先有一个String str = ...
- Android的项目不能直接引用可移植类库的项目解决方法
深圳_exception() 10:25:51 Android的项目不能直接引用可移植类库的项目,但是可以引用可移植类库生成的dll,这就意味着无法直接断电调试可移植类库上海-黄药师() 10:26: ...
- hdu 5102 树上前k短路径长度和
http://acm.hdu.edu.cn/showproblem.php?pid=5102 给一棵树,求出所有节点的距离中前k小的路径长度和 由于路径长度的定义为两点之间的边的个数,所有遍历1~n- ...
- Oracle11G R2用exp无法导出空表解决方法
在11G R2中有个新特性,当表无数据时,不分配segment,以节省空间Oracle当然在执行export导出时,空表则无法导出,但是还是有解决办法的: 解决方法: 一.insert一行,再roll ...
- [ASE]Sprint1总结 & Sprint2计划
经历了两周的团队项目,我们进行了一个简单的总结: 对TFS不够重视,第一周几乎没有使用TFS,第二周大部分是将完成了的工作添加到TFS当中. 这也反映了一个问题,就是对项目细节的安排不到位,最开始的时 ...
