基于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 相关文章推荐
location.search在客户端获取Url参数的方法
Jun 08 Javascript
js列举css中所有图标的实现代码
Jul 04 Javascript
正负小数点后两位浮点数实现原理及代码
Sep 06 Javascript
把字符串按照特定的字母顺序进行排序的js代码
Jan 28 Javascript
JS实现倒计时和文字滚动的效果实例
Oct 29 Javascript
JS实现5秒钟自动封锁div层的方法
Feb 20 Javascript
jquery实现无限分级横向导航菜单的方法
Mar 12 Javascript
Jquery实现瀑布流布局(备有详细注释)
Jul 31 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
Apr 10 Javascript
jQuery zTree树插件的使用教程
Aug 16 jQuery
JavaScript Html实现移动端红包雨功能页面
Jan 10 Javascript
深入浅析React中diff算法
May 19 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
让你的PHP同时支持GIF、png、JPEG
2006/10/09 PHP
php从数组中随机抽取一些元素的代码
2012/11/05 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
常用PHP框架功能对照表
2014/10/23 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
Jquery常用技巧收集整理篇
2010/11/14 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
纯Javascript实现Windows 8 Metro风格实现
2013/10/15 Javascript
JQuery自适应窗口大小导航菜单附源码下载
2015/09/01 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
jQuery计算文本框字数及限制文本框字数的方法
2016/03/01 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
jQuery简单动画变换效果实例分析
2016/07/04 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
Javascript中常用的检测方法小结
2016/10/08 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
微信小程序商品详情页底部弹出框
2019/11/22 Javascript
vue使用微信扫一扫功能的实现代码
2020/04/11 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
Python实现的一个找零钱的小程序代码分享
2014/08/25 Python
Python实现根据IP地址和子网掩码算出网段的方法
2015/07/30 Python
Python解析树及树的遍历
2016/02/03 Python
Python Subprocess模块原理及实例
2019/08/26 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
css3使网页、图片变成灰色兼容大多数浏览器
2014/07/02 HTML / CSS
Champs Sports加拿大:北美最大的以商场为基础的专业运动鞋和服装零售商之一
2018/05/01 全球购物
static关键字的用法
2013/10/07 面试题
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
金融专业个人求职信范文
2013/11/28 职场文书
倡议书格式模板
2014/05/13 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书
红十字会救护培训简讯
2015/07/20 职场文书