豆瓣 jsonp 请求数据 并分页

豆瓣分页

  1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
  2 "http://www.w3.org/TR/html4/strict.dtd">
  3
  4 <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  5     <head>
  6         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7         <title>6.豆瓣分页</title>
  8         <meta name="author" content="Administrator" />
  9         <!-- Date: 2014-12-23 -->
 10         <style>
 11             *{margin:0;padding:0;font-size:13px;font-family: microsoft yahei}
 12             li{list-style:none}
 13             #text{width:200px;padding:5px;border:1px solid orange}
 14             #btn{padding:4px 5px;background:orange; border:1px solid #e53d0f;cursor:pointer}
 15             #btn:hover{background: #f1b931}
 16             #book{width:1200px;}
 17             #book dl{width:150px;border:1px solid #2272BD;float:left;margin:10px;height:160px; text-align:center}
 18             #book dl dt{padding:10px 0}
 19             #page{ width:1000px}
 20             #page li{width:30px;height:30px;border:1px solid #008000;border-radius:5px;text-align:center;line-height:30px;float:left;margin:3px;cursor:pointer}
 21             #page li:hover{background:yellow}
 22             #page li.active{background:red}
 23             #page li.prev, #page li.next{width:100px;border-radius:none;}
 24             #pager span.prev{float:left;}
 25             #pager span{width:50px;height:30px;background:orange;cursor:pointer;border:1px solid orange;text-align:center;line-height:30px;display: inline-block;margin:3px;}
 26             #pager{clear:both}
 27         </style>
 28         <script>
 29          function fn1(data){
 30                  var oTxt=document.getElementById(‘text‘);
 31                  var oBtn=document.getElementById(‘btn‘);
 32                  var oDiv=document.getElementById(‘book‘);
 33                  var oTotalText=document.getElementById(‘result‘);
 34
 35
 36                  var oTotalResulte=data[‘opensearch:totalResults‘].$t;
 37                  var oIndex=1;
 38
 39
 40                  oTotalText.innerHTML=‘共搜索到‘+oTotalResulte+‘结果‘
 41
 42
 43
 44                  //加内容
 45                  addContent()
 46                  function addContent(){
 47                      var str=‘‘;
 48                      for(var i=0;i<data.entry.length;i++){
 49                           //var oDl=document.createElement(‘dl‘);
 50                           str+=‘<dl><dt>‘+data.entry[i][‘title‘][‘$t‘]+‘</dt><dd><img src="‘+data.entry[i][‘link‘][2][‘@href‘]+‘"/></dd></dl>‘;
 51                          //oDiv.appendChild(oDl);
 52                      }
 53                       oDiv.innerHTML=str;
 54                  }
 55
 56          }
 57
 58          function fn2(data){
 59              //分页
 60                   var oTxt=document.getElementById(‘text‘);
 61                   var oTotalResulte=data[‘opensearch:totalResults‘].$t;
 62                   var oPager=document.getElementById(‘pager‘);
 63                  var oPage=document.getElementById(‘page‘);
 64                  var oSorter=document.getElementById(‘sorter‘);
 65                  var pageNum=Math.ceil(oTotalResulte/(data[‘opensearch:itemsPerPage‘].$t));
 66                  var iNow=0;
 67                  var str1=‘‘;
 68                  for(var i=0;i<10;i++){
 69                        str1+=‘<li>‘+(i+1)+‘</li>‘;
 70                  }
 71                  oPage.innerHTML=str1;
 72                  var oPrev=document.createElement(‘span‘);
 73                  oPrev.className=‘prev‘;
 74                  oPrev.innerHTML=‘上一页‘;
 75                  oPager.insertBefore(oPrev,oPage);
 76
 77                  var oNext=document.createElement(‘span‘);
 78                  oNext.className=‘next‘;
 79                  oNext.innerHTML=‘下一页‘;
 80                  oPager.appendChild(oNext);
 81
 82
 83
 84
 85
 86                  //分页点击
 87                  var aLi=oPage.getElementsByTagName(‘li‘);
 88                   aLi[iNow].className=‘active‘;
 89                  oSorter.innerHTML= (iNow+1)+‘/‘+pageNum;
 90
 91                  for(var i=0;i<aLi.length;i++){
 92                      aLi[i].index=i;
 93
 94                      aLi[i].onmouseover=function(){
 95                              for(var i=0;i<aLi.length;i++){
 96                                  if(aLi[i].className!=‘active‘){
 97                                      aLi[i].className=""
 98                                  }
 99                                }
100                            this.classname="hover";
101                      }
102
103
104                        aLi[i].onclick=function(){
105                                for(var i=0;i<aLi.length;i++){
106                                     aLi[i].className=""
107                                }
108                                iNow=this.index;
109                                console.log(iNow);
110                                oSorter.innerHTML= (iNow+1)+‘/‘+pageNum;
111                                this.className="active";
112                                oIndex = (data[‘opensearch:itemsPerPage‘].$t)*iNow;
113                                var oScript=document.createElement(‘script‘);
114                              oScript.src=‘http://api.douban.com/book/subjects?q=‘+oTxt.value+‘&alt=xd&callback=fn1&start-index=‘+oIndex;
115                              document.body.appendChild(oScript);
116                              //addContent()
117                        }
118
119                      //上一页 下一页点击
120                      var aSpan=oPager.getElementsByTagName(‘span‘);
121                      aSpan[1].onclick=function(){
122                          for(var i=0;i<aLi.length;i++){
123                               if(aLi[i].className==‘active‘){
124                                     iNow=i;
125                               }
126                               aLi[i].className=‘‘;
127
128                          }
129                          iNow++;
130                          if(iNow<aLi.length){
131                               aLi[iNow].className=‘active‘;
132                          }
133                          oSorter.innerHTML= (iNow+1)+‘/‘+pageNum;
134                          console.log(iNow);
135
136                          oIndex = (data[‘opensearch:itemsPerPage‘].$t)*iNow;
137                                var oScript=document.createElement(‘script‘);
138                              oScript.src=‘http://api.douban.com/book/subjects?q=‘+oTxt.value+‘&alt=xd&callback=fn1&start-index=‘+oIndex;
139                              document.body.appendChild(oScript);
140                      }
141
142                    aSpan[0].onclick=function(){
143                           for(var i=0;i<aLi.length;i++){
144                               if(aLi[i].className==‘active‘){
145                                     iNow=i;
146                               }
147                               aLi[i].className=‘‘;
148
149                          }
150
151                          if(iNow>0){
152                              iNow--;
153                          }
154
155                          if(iNow < aLi.length ){
156                               aLi[iNow].className=‘active‘;
157                          }
158
159
160                          oSorter.innerHTML= (iNow+1)+‘/‘+pageNum;
161                          console.log(iNow);
162
163                          oIndex = (data[‘opensearch:itemsPerPage‘].$t)*iNow;
164                                var oScript=document.createElement(‘script‘);
165                              oScript.src=‘http://api.douban.com/book/subjects?q=‘+oTxt.value+‘&alt=xd&callback=fn1&start-index=‘+oIndex;
166                              document.body.appendChild(oScript);
167                    }
168
169
170
171
172                  }
173          }
174
175             window.onload=function(){
176
177                  var oTxt=document.getElementById(‘text‘);
178                  var oBtn=document.getElementById(‘btn‘);
179                  oBtn.onclick=function(){
180                          if(oTxt.value!=‘‘){
181                              var oScript=document.createElement(‘script‘);
182                              oScript.src=‘http://api.douban.com/book/subjects?q=‘+oTxt.value+‘&alt=xd&callback=fn1‘;
183                              document.body.appendChild(oScript);
184
185                              var oScript1=document.createElement(‘script‘);
186                              oScript1.src=‘http://api.douban.com/book/subjects?q=‘+oTxt.value+‘&alt=xd&callback=fn2‘;
187                              document.body.appendChild(oScript1);
188
189                          }
190
191                  }
192             }
193         </script>
194     </head>
195     <body>
196         <input type="text" id="text" />
197         <input type="button" value="搜索" id="btn" />
198         <div id="result"></div>
199         <div id="book"></div>
200         <div id="pager">
201             <ul id="page"></ul>
202         </div>
203         <div id="sorter"></div>
204     </body>
205 </html>
时间: 2024-10-29 12:43:09

豆瓣 jsonp 请求数据 并分页的相关文章

封装 jsonp请求数据的方法

什么是jsonp :  Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据. 为什么我们从不同的域(网站)访问数据需要一个特殊的技术( JSONP )呢?这是因为同源策略. 同源策略,它是由 Netscape 提出的一个著名的安全策略,现在所有支持 JavaScript 的浏览器都会使用这个策略. 了解一下jsonp的api :  封装jsonp的方法: //jsonp.js文件 import or

jquery中使用jsonp请求数据

//jquery部分的代码 1 $.ajax({ 2 type:'GET', 3 url:"http://192.168.0.224/jsonp.php", 4 data:"", 5 dataType:'jsonp', 6 jsonp: 'callback', 7 timeout: 2000, 8 success:function(res){ 9 alert(res.info); 10 } 11 }); //php部分的代码 1 <?php 2 header(

get和post方式请求数据,jsonp

get方式请求数据: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 19.0px Consolas; color: #289c97 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 19.0px Consolas; color: #060606 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 19.0px Consolas; color: #4663cc }

Angular 请求数据

Angular 请求数据 get post 以及 jsonp 请求数据 引入 HttpModule .JsonpModule 普通的 HTTP 调用并不需要用到 JsonpModule,不过稍后我们就会延演示对 JSONP 的支持,所以现在就加载它,免得再回来浪费时间. 引入模块 注意:JSONP 在4版本以后已经被弃用了... import { HttpClientJsonpModule, HttpClientModule } from '@angular/common/http'; 在 im

若不用jsonp,可使用httpClient请求数据

当你使用多个服务器进行协同提供服务时,会存在跨域请求数据的情况,除了使用jsonp外,还可以使用apache的httpClient进行请求数据. httpClient在service层被调用,请求到的数据,可能是json数据,也可能是html代码. 以下是httpClient的辅助工具类,直接调用即可. httpClientUtil.java package com.taotao.utils; import java.io.IOException; import java.net.URI; im

ajax 跨域请求数据 jsonp 示例

1.请求页面 <!doctype html><head><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jsonp调用方法</title></head><body> <script type="text/javasc

使用JSONP跨域请求数据

下面代码,可以使用JSONP进行跨域请求数据,Insus.NET记录以下,以备忘记. 使用JSONP跨域请求数据

利用Jsonp跨域大发888搭建请求数据(原生和Jquery的ajax请求),简单易懂!

前言 :本文示例部署大发888搭建QQ2952777280[] hxforum.com 在XAMPP建站集成软件包上,在localhost环境下进行测试 1.什么是跨域 由于浏览器同源策略,凡是发送请求url的协议.域名.端口三者之间任意一与当前页面地址不同即为跨域.存在跨域的情况 :(1)网络协议不同,如http协议访问https协议. (2)端口不同,如8080端口访问3000端口. (3)域名不同,如aaaa.com访问bbbb.com. (4)子域名不同,如java.ddd.com访问q

JQueryPagination分页插件,ajax从struts请求数据

2017-07-16 学完了struts,做了个关于分页的小例子,用到了JQuery分页插件Pagination,先贴下插件下载地址 http://www.jq22.com/jquery-info13734 插件作者对于参数讲解的不够详细,琢磨了半天才明白怎么用,不多说,直接代码 1.客户端(jsp页面) 1 /*这些css为了控制生成的数据和分页的li标签的位置*/ 2 a { 3 text-decoration:none; 4 color:black; 5 font-weight: bold