偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

制作一個選擇中國大學的彈框

開發(fā) 前端
彈框初始狀態(tài)下為隱藏狀態(tài)(display:none), 為了用戶體驗, 在用戶觸發(fā)打開彈框時間后, 彈框應該在頁面中呈居中顯示, 使用下面一段代碼可以實現(xiàn)居中效果:

圖1: 效果

1. 數(shù)據(jù)

一共包含了全國3049所大學, 從人人網拷貝的 (僅供學習交流, 請勿用于商業(yè)項目)。

數(shù)據(jù)地址:http://files.cnblogs.com/technology/school.js. 這是一個腳本文件, 里含的JSON對象存儲了學校的信息, 格式為:

  1. var schoolList=[   
  2.     {   
  3.         "id":1, //省份id   
  4.         "school": [   
  5.             {   
  6.                 "id": 1001, //學校id   
  7.                 "name""\u6e05\u534e\u5927\u5b66" //學校名稱   
  8.             }   
  9.             /....   
  10.             ], //這個省的學校   
  11.         "name""\u5317\u4eac" 
  12.     },   
  13.     //...   
  14. ]; 

2. 步驟

2.1 彈框的構造及彈出方式

目前彈框分為iframe和div兩種形式, 在本例中我選擇使用div作為彈框, 彈框的結構如下:

  1. <div id="choose-box-wrapper">   
  2.   <div id="choose-box">   
  3.     <div id="choose-box-title">   
  4.         <span>選擇學校</span>   
  5.     </div>   
  6.     <div id="choose-a-province">   
  7.     </div>   
  8.     <div id="choose-a-school">   
  9.     </div>   
  10.     <div id="choose-box-bottom">   
  11.         <input type="botton" onclick="hide()" value="關閉" />   
  12.     </div>   
  13.   </div>   
  14. </div> 

彈框初始狀態(tài)下為隱藏狀態(tài)(display:none), 為了用戶體驗, 在用戶觸發(fā)打開彈框時間后, 彈框應該在頁面中呈居中顯示, 使用下面一段代碼可以實現(xiàn)居中效果:

  1. function makeCenter()   
  2. {   
  3.     $('#choose-box-wrapper').css("display","block");   
  4.     $('#choose-box-wrapper').css("position","absolute");   
  5.     $('#choose-box-wrapper').css("top", Math.max(0, (($(window).height() - $('#choose-box-wrapper').outerHeight()) / 2) + $(window).scrollTop()) + "px");   
  6.     $('#choose-box-wrapper').css("left", Math.max(0, (($(window).width() - $('#choose-box-wrapper').outerWidth()) / 2) + $(window).scrollLeft()) + "px");   

2.2 加載省份列表和學校列表

在***次跳出彈框時, 默認為列表中的***個省份. 加載完這個省份所有的名單后, 給每一項都需要綁定一個click函數(shù), 用戶在發(fā)生單擊后, 更新用戶選擇省份下的大學列表.

更新完該省的大學列表后, 同樣要給每一項都綁定一個click函數(shù), 用戶在選擇該大學后可以執(zhí)行相應的操作. (比如給某個文本框填值, 頁面重定向etc.)

  1. function initProvince()   
  2. {   
  3.     //原先的省份列表清空   
  4.     $('#choose-a-province').html('');   
  5.     for(i=0;i<schoolList.length;i++)   
  6.     {   
  7.         $('#choose-a-province').append('<a class="province-item" province-id="'+schoolList[i].id+'">'+schoolList[i].name+'</a>');   
  8.     }   
  9.     //添加省份列表項的click事件   
  10.     $('.province-item').bind('click', function(){   
  11.             var item=$(this);   
  12.             var province = item.attr('province-id');   
  13.             var choosenItem = item.parent().find('.choosen');   
  14.             if(choosenItem)   
  15.                 $(choosenItem).removeClass('choosen');   
  16.             item.addClass('choosen');   
  17.             //更新大學列表   
  18.             initSchool(province);   
  19.         }   
  20.     );   
  21. }   
  22.     
  23. function initSchool(provinceID)   
  24. {   
  25.     //原先的學校列表清空   
  26.     $('#choose-a-school').html('');   
  27.     var schools = schoolList[provinceID-1].school;   
  28.     for(i=0;i<schools.length;i++)   
  29.     {   
  30.         $('#choose-a-school').append('<a class="school-item" school-id="'+schools[i].id+'">'+schools[i].name+'</a>');   
  31.     }   
  32.     //添加大學列表項的click事件   
  33.     $('.school-item').bind('click', function(){   
  34.             var item=$(this);   
  35.             var school = item.attr('school-id');   
  36.             //更新選擇大學文本框中的值   
  37.             $('#school-name').val(item.text());   
  38.             //關閉彈窗   
  39.             hide();   
  40.         }   
  41.     );   

2.3 彈出及隱藏窗口

在本例中, 用戶點擊一個要求輸入學校的文本框, 頁面跳出彈框. 彈框中含有關閉按鈕, 可以關閉彈框.

  1. //彈出窗口   
  2. function pop(){   
  3.     //將窗口居中   
  4.     makeCenter();   
  5.     
  6.     //初始化省份列表   
  7.     initProvince();   
  8.     
  9.     //默認情況下, 給***個省份添加choosen樣式   
  10.     $('[province-id="1"]').addClass('choosen');   
  11.     
  12.     //初始化大學列表   
  13.     initSchool(1);   
  14. }   
  15. //隱藏窗口   
  16. function hide()   
  17. {   
  18.     $('#choose-box-wrapper').css("display","none");   

3. 下載

[[86488]]

原文鏈接:http://www.cnblogs.com/technology/archive/2012/07/25/2607560.html

責任編輯:張偉 來源: Create Chen的博客
相關推薦

2010-08-09 13:48:14

微軟最佳雇主

2009-06-15 16:48:20

中國大學畢業(yè)生就業(yè)報告

2025-04-23 09:34:46

2010-03-29 09:26:23

大學生創(chuàng)業(yè)李開復

2012-03-20 16:52:24

超算大賽超級計算機

2012-08-23 10:03:48

2013-08-07 13:58:21

Android應用圖標

2012-03-16 17:07:07

超級計算機

2015-07-13 14:15:19

SDN

2017-01-05 13:38:56

華為ICT

2009-08-19 15:01:24

百度框計算

2012-03-23 16:00:59

超算大賽

2020-07-20 14:04:34

Excel下拉菜單數(shù)據(jù)

2009-09-11 09:11:09

2011-06-16 15:36:56

Qt Quick Symbian

2023-12-05 07:19:43

CAP定理分布式

2013-05-21 11:02:15

雅虎黑客黑客日

2020-04-20 10:14:42

大數(shù)據(jù)零售業(yè)行業(yè)

2015-08-27 10:19:04

點贊
收藏

51CTO技術棧公眾號