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>

 

posted @ 2012-04-08 15:15  纳爱斯  阅读(996)  评论(0编辑  收藏  举报