基于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下的几个你可能没用过的功能
Aug 29 Javascript
使用AngularJS实现可伸缩的页面切换的方法
Jun 19 Javascript
Jquery promise实现一张一张加载图片
Nov 13 Javascript
javascript精确统计网站访问量实例代码
Dec 19 Javascript
JavaScript中的Array 对象(数组对象)
Jun 02 Javascript
Javascript 事件冒泡机制详细介绍
Oct 10 Javascript
解析JavaScript模仿块级作用域
Dec 29 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
Mar 06 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
Apr 26 jQuery
浅析js中mvvm模式实现的原理
Oct 06 Javascript
extract-text-webpack-plugin用法详解
Feb 14 Javascript
Vue项目中配置pug解析支持
May 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中实现生成静态文件的方法缓解服务器压力
2014/01/07 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
PHP pear安装配置教程
2016/05/14 PHP
PHP实现的登录,注册及密码修改功能分析
2016/11/25 PHP
firefox插件Firebug的使用教程
2010/01/02 Javascript
JavaScript插入动态样式实现代码
2012/02/22 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
javascript实现鼠标拖动改变层大小的方法
2015/04/30 Javascript
JavaScript里 ==与===区别详解
2016/08/16 Javascript
js实现截图保存图片功能的代码示例
2017/02/16 Javascript
react native仿微信PopupWindow效果的实例代码
2017/08/07 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
JS控制下拉列表左右选择实例代码
2020/05/08 Javascript
vue实现给div绑定keyup的enter事件
2020/07/31 Javascript
基于Python socket的端口扫描程序实例代码
2018/02/09 Python
python 判断字符串中是否含有汉字或非汉字的实例
2019/07/15 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
python梯度下降算法的实现
2020/02/24 Python
python实现翻译word表格小程序
2020/02/27 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
化工工艺专业求职信
2013/09/22 职场文书
广告学专业毕业生自荐信
2013/09/24 职场文书
运动会入场式解说词
2014/02/18 职场文书
优秀经理获奖感言
2014/03/04 职场文书
产品开发计划书
2014/04/27 职场文书
离职证明范本(5篇)
2014/09/19 职场文书
企业文化学习心得体会
2016/01/21 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
MySQL非空约束(not null)案例讲解
2021/08/23 MySQL