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>

 

转载于:https://www.cnblogs.com/yingsmirk/archive/2012/04/08/2437669.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值