基于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 valueOf 使用方法
Dec 28 Javascript
深入理解JQuery keyUp和keyDown的区别
Dec 12 Javascript
如何在MVC应用程序中使用Jquery
Nov 17 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
Jan 05 Javascript
JSON字符串和对象相互转换实例分析
Jun 16 Javascript
微信小程序中hidden不生效原因的解决办法
Apr 26 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
Jul 20 Javascript
vue下跨域设置的相关介绍
Aug 26 Javascript
JavaScript继承与多继承实例分析
May 26 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
Jul 04 Javascript
vue-cli项目修改文件热重载失效的解决方法
Sep 19 Javascript
使用 Element UI Table 的 slot-scope方法
Oct 10 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
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
ThinkPHP模板IF标签用法详解
2014/07/01 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
js cookie实现记住密码功能
2017/01/17 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
vue下canvas裁剪图片实例讲解
2020/04/16 Javascript
javascript实现前端成语点击验证
2020/06/24 Javascript
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
Windows上配置Emacs来开发Python及用Python扩展Emacs
2015/11/20 Python
用Python写王者荣耀刷金币脚本
2017/12/21 Python
Python列表list排列组合操作示例
2018/12/18 Python
python 多线程串行和并行的实例
2019/02/22 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
html5使用html2canvas实现浏览器截图的示例
2017/08/31 HTML / CSS
html5 application cache遇到的严重问题
2012/12/26 HTML / CSS
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
巴西购物网站:Onofre Agora
2020/06/08 全球购物
教师网络培训感言
2014/03/09 职场文书
《永远的白衣战士》教学反思
2014/04/25 职场文书
广告宣传策划方案
2014/05/21 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
党的群众路线学习笔记
2014/11/06 职场文书
同学会感言
2015/07/30 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python
详解Laravel服务容器的优势
2021/05/29 PHP
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript