基于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 EasyUI API 中文文档 - EasyLoader 加载器
Sep 29 Javascript
能说明你的Javascript技术很烂的五个原因分析
Oct 28 Javascript
定时器(setTimeout/setInterval)调用带参函数失效解决方法
Mar 26 Javascript
js中string转int把String类型转化成int类型
Aug 13 Javascript
BootStrap实用代码片段之一
Mar 22 Javascript
ES6新特性四:变量的解构赋值实例
Apr 21 Javascript
详解vue-cli本地环境API代理设置和解决跨域
Sep 05 Javascript
详解vue-router 初始化时做了什么
Jun 11 Javascript
js canvas实现红包照片效果
Aug 21 Javascript
详解如何在Vue项目中导出Excel
Apr 19 Javascript
js new Date()实例测试
Oct 31 Javascript
js实现手表表盘时钟与圆周运动
Sep 18 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初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
php 函数中使用static的说明
2012/06/01 PHP
php模拟服务器实现autoindex效果的方法
2015/03/10 PHP
PHP下载文件的函数实例代码
2016/05/18 PHP
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
基于编写jQuery的无缝滚动插件
2014/08/02 Javascript
node.js中的fs.fchmodSync方法使用说明
2014/12/16 Javascript
jQuery中:text选择器用法实例
2015/01/03 Javascript
jQuery实现隔行变色的方法分析(对比原生JS)
2016/11/18 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
详解Node.js异步处理的各种写法
2019/06/09 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
vue 导航守卫和axios拦截器有哪些区别
2020/12/19 Vue.js
[49:42]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第一局
2016/03/04 DOTA
基python实现多线程网页爬虫
2015/09/06 Python
python数据抓取分析的示例代码(python + mongodb)
2017/12/25 Python
Windows10下 python3.7 安装 facenet的教程
2019/09/10 Python
pytorch masked_fill报错的解决
2020/02/18 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
Python如何在bool函数中取值
2020/09/21 Python
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
Marlies Dekkers内衣法国官方网上商店:国际知名的荷兰内衣品牌
2019/03/18 全球购物
MySQL面试题
2014/01/12 面试题
乡镇干部先进事迹材料
2014/02/03 职场文书
销售顾问岗位职责
2014/02/25 职场文书
高中教师考核方案
2014/05/18 职场文书
资料员岗位职责范本
2015/04/13 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书
七个Python必备的GUI库
2021/04/27 Python
浅谈python中的多态
2021/06/15 Python
mysql优化之query_cache_limit参数说明
2021/07/01 MySQL
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS
Python面试不修改数组找出重复的数字
2022/05/20 Python
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript