基于JQuery及AJAX实现名人名言随机生成器


Posted in Javascript onFebruary 10, 2017

这是我刚接触AJAX的时候做的一个小应用,主要功能如下:

1.点击按钮可以随机生成一句名人名言及其作者名字,如果没有作者名字,则显示“Unknown”。
2.点击按钮可以把名人名言分享到推特或者微博。

HTML:

<div class="container-fluid text-center"> 
 <h1> 
  Random Quote Generator 
 </h1> 
 <div class="well quote-area"> 
  <span class="quote"> 
  </span> 
  <span class="author"> 
  </span> 
 </div> 
 <div class="btns"> 
  <button class="btn btn-default btn-lg" id="tweet"> 
   <i class="fa fa-twitter" aria-hidden="true"> 
   </i> 
    Tweet 
  </button> 
  <button class="btn btn-default btn-lg" id="weibo"> 
   <i class="fa fa-weibo" aria-hidden="true"> 
   </i> 
    Weibo 
  </button> 
  <button class="btn btn-default btn-lg" id="change"> 
   <i class="fa fa-exchange" aria-hidden="true"> 
   </i> 
    Get Quote 
  </button> 
 </div> 
</div> 
<footer class="text-center"> 
 Designed by 
 <a href="http://blog.csdn.net/alenhhy" rel="external nofollow" target="_blank"> 
  Alen Hu 
 </a> 
</footer>

JQuery:

$(document).ready(function() { 
 var quote, author; 
 
 function getNewQuote() { 
  $.ajax({ 
   type: "get", 
   url: "http://api.forismatic.com/api/1.0/", 
   jsonp: 'jsonp', 
   dataType: 'jsonp', 
   data: { 
    method: 'getQuote', 
    lang: 'en', 
    format: 'jsonp' 
   }, 
   success: function(response) { 
    quote = response.quoteText; 
    author = response.quoteAuthor; 
    $('.quote').text('\"' + quote + '\"'); 
    if (author) { 
     $('.author').text('by ' + author); 
    } else { 
     $('.author').text('by Unknown'); 
    } 
   } 
  }); 
 } 
 
 getNewQuote(); 
 
 $('#change').on('click', 
 function(event) { 
  event.preventDefault(); 
  getNewQuote(); 
 }); 
 
 $('#tweet').on('click', 
 function(event) { 
  event.preventDefault(); 
  window.open('http://twitter.com/intent/tweet?text=' + encodeURIComponent(quote + ' by ' + author)); 
 }); 
 
 $('#weibo').on('click', 
 function(event) { 
  event.preventDefault(); 
  window.open('http://v.t.sina.com.cn/share/share.php?title=' + encodeURIComponent(quote + ' by ' + author)); 
 }) 
});

*forismatic的API可以获取名人名言,但是只有英语和俄语版本的...不过中文类似的API也有很多的啦,实现原理都差不多。

DEMO在这儿,欢迎来FORK:Random Quote Generator。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript hasFocus使用实例
Jun 29 Javascript
jQuery选择没有colspan属性的td的代码
Jul 06 Javascript
原生js实现给指定元素的后面追加内容
Apr 10 Javascript
jquery实现倒计时代码分享
Jun 13 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
Jan 20 Javascript
Jquery UI实现一次拖拽多个选中的元素操作
Dec 01 Javascript
jQuery Easy UI中根据第一个下拉框选中的值设置第二个下拉框是否可以编辑
Nov 29 Javascript
原生js实现商品放大镜效果
Jan 12 Javascript
自己动手封装一个React Native多级联动
Sep 19 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
Apr 08 Javascript
vue接口请求加密实例
Aug 11 Javascript
vue设置全局访问接口API地址操作
Aug 14 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
Feb 10 #Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
Feb 10 #Javascript
javascript自执行函数
Feb 10 #Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
Feb 10 #Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
Feb 10 #Javascript
JS验证不重复验证码
Feb 10 #Javascript
使用jquery给新生的th绑定hover事件的实例
Feb 10 #Javascript
You might like
索尼SONY SRF-S83/84电路分析和打磨
2021/03/02 无线电
php escape URL编码
2008/12/10 PHP
Nginx下配置codeigniter框架方法
2015/04/07 PHP
JavaScript 注册事件代码
2011/01/27 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
2015/06/01 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
2017/01/12 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
2017/08/16 Javascript
swiper动态改变滑动内容的实现方法
2018/01/17 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
详解React native fetch遇到的坑
2018/08/30 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
2019/04/23 jQuery
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
layui实现多图片上传并限制上传的图片数量
2019/09/26 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
2020/07/27 Javascript
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
Python模拟登录12306的方法
2014/12/30 Python
python3中str(字符串)的使用教程
2017/03/23 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
2017/05/23 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
python如何调用php文件中的函数详解
2020/12/29 Python
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
全球度假村:Club Med
2017/11/27 全球购物
计算机系毕业生推荐信
2013/11/06 职场文书
金融专业个人求职信范文
2013/11/28 职场文书
实习鉴定范文
2013/12/19 职场文书
《泉水》教学反思
2014/04/11 职场文书
实验心得体会
2014/09/05 职场文书
2014教育局对照检查材料思想汇报
2014/09/23 职场文书
工作报告范文
2019/06/20 职场文书
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python