基于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 相关文章推荐
jquery实现奇偶行赋值不同css值
Feb 17 Javascript
JavaScript中利用各种循环进行遍历的方式总结
Nov 10 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
Aug 01 Javascript
实例分析浏览器中“JavaScript解析器”的工作原理
Dec 12 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
Apr 26 Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
Jun 13 Javascript
vue实现登录后页面跳转到之前页面
Jan 07 Javascript
Node.js系列之发起get/post请求(2)
Aug 30 Javascript
用Golang运行JavaScript的实现示例
Nov 25 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
Apr 11 Javascript
antd配置config-overrides.js文件的操作
Oct 31 Javascript
JS时间戳与日期格式互相转换的简单方法示例
Jan 30 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中mysql与mysqli的区别分析
2013/06/10 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
JQuery教学之性能优化
2014/05/14 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
巧用jQuery选择器提高写表单效率的方法
2016/08/19 Javascript
学习 NodeJS 第八天:Socket 通讯实例
2016/12/21 NodeJs
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
layui实现数据分页功能
2019/07/27 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
2020/08/10 Javascript
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
python如何实现excel数据添加到mongodb
2015/07/30 Python
Python实现图片尺寸缩放脚本
2018/03/10 Python
python 3调用百度OCR API实现剪贴板文字识别
2018/09/04 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
生物制药专业自我鉴定
2014/02/19 职场文书
军训教官感言
2014/03/02 职场文书
幼儿园爱国卫生月活动总结
2014/06/30 职场文书
奉献爱心演讲稿
2014/09/04 职场文书
公司副总经理岗位职责
2015/04/08 职场文书
运动会800米赞词
2015/07/22 职场文书
工作感言一句话
2015/08/01 职场文书
大学副班长竞选稿
2015/11/21 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
检讨书格式
2019/04/25 职场文书
2019让人心动的商业计划书
2019/06/27 职场文书
年终奖金发放管理制度,中小企业适用,拿去救急吧!
2019/07/12 职场文书