欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于JQuery及AJAX实现名人名言随机生成器

程序员文章站 2023-01-15 14:09:52
这是我刚接触ajax的时候做的一个小应用,主要功能如下: 1.点击按钮可以随机生成一句名人名言及其作者名字,如果没有作者名字,则显示“unknown”。 2.点击按钮可...

这是我刚接触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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。