JS页码实现--百度笔试题
1、假设知道总页数和当前页码,写出一个生成页码函数,要求当前页码用粗体显示,当前页码前后各显示n个页码(n可设置),总的显示数目是2n+1(15分)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>New Web Project</title> <style type="text/css"> .current { font-weight:bolder; color:#8CCA12; } </style> </head> <body> <div id="page"> </div> <script type="text/javascript"> function showPage (totalPages,curPage,showPage) { var page = document.getElementById("page"); var first;//第一页 var last;//最后一页 var newNode;//插入的新节点 if((curPage - showPage) > 0){ first = curPage - showPage; } else{ first = 1; } if(totalPages > (curPage + showPage)){ last = curPage + showPage; } else{ last = totalPages; } for( ; first <= last; first++){ if(first == curPage){ newNode = document.createElement("span"); newNode.innerHTML = "--" + first + "--"; newNode.className = "current"; page.appendChild(newNode); } else{ newNode = document.createElement("span"); newNode.innerHTML = "--" + first + "--"; page.appendChild(newNode); } } } showPage(10,5,4); </script> </body> </html>
在IE、FF下均测试通过,注意createElement() innerHTML() appendChild()的使用
2、给定一个数组,请实现一个方法:每次都随机返回此数组中的一个元素
<script type="text/javascript"> function radomShow(arr){ var j = parseInt(arr.length * Math.random()); alert(arr[j]); } var num = new Array(); for(var i =0;i<1000 ;i++){ num[i] = parseInt(1000 * Math.random()); } radomShow(num); </script>