基于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 相关文章推荐
js 屏蔽鼠标右键脚本附破解方法
Dec 03 Javascript
Jquery插件之多图片异步上传
Oct 20 Javascript
常用jQuery代码分享
Jul 14 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
Aug 14 Javascript
JS中取二维数组中最大值的方法汇总
Apr 17 Javascript
深入解析Javascript闭包的功能及实现方法
Jul 10 Javascript
AngularJS通过$http和服务器通信详解
Sep 21 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
Jan 27 Javascript
详解如何构建一个Angular6的第三方npm包
Sep 07 Javascript
原生JS检测CSS3动画是否结束的方法详解
Jan 27 Javascript
vue router总结 $router和$route及router与 router与route区别
Jul 05 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
Feb 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
PHP 遍历XP文件夹下所有文件
2008/11/27 PHP
php提示Failed to write session data错误的解决方法
2014/12/17 PHP
php+mysql查询优化简单实例
2015/01/13 PHP
php7安装mongoDB扩展的方法分析
2017/08/02 PHP
php微信开发之图片回复功能
2018/06/14 PHP
Yii2框架控制器、路由、Url生成操作示例
2019/05/27 PHP
javascript数组去重3种方法的性能测试与比较
2013/03/26 Javascript
jQuery插件jPaginate实现无刷新分页
2015/05/04 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
vue 1.x 交互实现仿百度下拉列表示例
2017/10/21 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
2018/08/08 jQuery
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
用npm-run实现自动化任务的方法示例
2019/01/14 Javascript
vue下使用nginx刷新页面404的问题解决
2019/08/02 Javascript
js 动态校验开始结束时间的实现代码
2020/05/25 Javascript
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
2020/08/05 Javascript
python socket 超时设置 errno 10054
2014/07/01 Python
Python计算程序运行时间的方法
2014/12/13 Python
机器学习python实战之手写数字识别
2017/11/01 Python
TensorFlow实现卷积神经网络
2018/05/24 Python
详解用python写一个抽奖程序
2019/05/10 Python
numpy.ndarray 实现对特定行或列取值
2019/12/05 Python
python 实现视频 图像帧提取
2019/12/10 Python
详谈tensorflow gfile文件的用法
2020/02/05 Python
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
final, finally, finalize的区别
2012/03/01 面试题
法学研究生自我鉴定范文
2013/12/04 职场文书
追悼词范文大全
2015/06/23 职场文书
中学教代会开幕词
2016/03/04 职场文书