js+css内容翻页

本文介绍了一种使用纯JavaScript和HTML实现的简单网页分页效果。通过动态调整内容区域的高度和滚动位置,可以轻松地在长内容中实现平滑的翻页体验。文章提供了完整的代码示例,并解释了关键函数的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接上代码

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>无标题文档</title>
</head><body>

<div id="frameContent">
写上你要分页的东西!
</div>
<p>
</p><div id="pages" style="font-size: 12px;"></div>
<script language="javascript">
var obj = document.getElementById("frameContent"); //获取内容层
var pages = document.getElementById("pages"); //获取翻页层
var pgindex=1;                                //当前页
var lastPage = 1 ;							  //最后一页
var offsetHeight_ys = parseInt(obj.offsetHeight) ;
window.onload = function() //重写窗体加载的事件
{
	//alert("parseInt(obj.scrollHeight)="+parseInt(obj.scrollHeight));
	//alert("parseInt(obj.offsetHeight)="+parseInt(obj.offsetHeight));
	 var allpages = Math.ceil(parseInt(obj.scrollHeight)/parseInt(obj.offsetHeight));//获取页面数量
	 lastPage = allpages ;
	 pages.innerHTML = "<b>共"+allpages+"页</b>"; //输出页面数量
	 for (var i=1;i<=allpages;i++){
		pages.innerHTML += "<a href=\"javascript:showPage('"+i+"');\">第"+i+"页</a> ";
		//循环输出第几页
	 }
	 pages.innerHTML += " <a href=\"javascript:gotopage('-1');\">上一页</a> <a href=\"javascript:gotopage('1');\">下一页</a>"
}

function gotopage(value){
	try{
	value=="-1"?showPage(pgindex-1):showPage(pgindex+1);
	}catch(e){
	}
}

function showPage(pageINdex)
{
 alert("pageINdex="+pageINdex);
 if( pageINdex > lastPage){
	//alert("超过最大值");
	obj.style.height = "200px" ; //这里200px与css中的height:200px一样
	pageINdex = lastPage
 }else if( pageINdex < 1){
	 pageINdex = 1 ;
 }
 var temp = parseInt(obj.offsetHeight) ;
 //当遮挡长度+显示长度> 总的长度,即翻到最后一页,就会出现问题,以下是一种解决方法。
 if( (pageINdex-1)*parseInt(obj.offsetHeight) + 202 > parseInt(obj.scrollHeight)){ 
	//alert("当遮挡长度+显示长度> 总的长度");
	obj.style.height = (parseInt(obj.scrollHeight) - (pageINdex-1)*parseInt(obj.offsetHeight) )+"px" ;
	//根据高度,输出指定的页,这个高度必须保持为一个值,(obj.offsetHeight)会因为obj.style.height改变而改变.所以这里用temp先取到输出的高度.
	obj.scrollTop=(pageINdex-1)*temp ;						
 }else{
	obj.style.height = "200px" ;//这里200px与css中的height:200px一样
	obj.scrollTop=(pageINdex-1)*parseInt(obj.offsetHeight) ; //根据高度,输出指定的页
 }
 pgindex= parseInt(pageINdex);	//转换成int,否则页数相加的时候容易变成字符串相加
}
</script>
<style type="text/css">
#frameContent{
 width:500px; /*调整显示区的宽*/
 height:200px; /*调整显示区的高*/
 line-height:20px;
 border:1px solid #000000;
 overflow-pageINdex:hidden;
 overflow-y:hidden;
 word-break:break-all;
}

</style>
</body></html>
 
内容概要:该论文研究增程式电动汽车(REEV)的能量管理策略,针对现有优化策略实时性差的问题,提出基于工况识别的自适应等效燃油消耗最小策略(A-ECMS)。首先建立整车Simulink模型和基于规则的策略;然后研究动态规划(DP)算法和等效燃油最小策略;接着通过聚类分析将道路工况分为四类,并设计工况识别算法;最后开发基于工况识别的A-ECMS,通过高德地图预判工况类型并自适应调整SOC分配。仿真显示该策略比规则策略节油8%,比简单SOC规划策略节油2%,并通过硬件在环实验验证了实时可行性。 适合人群:具备一定编程基础,特别是对电动汽车能量管理策略有兴趣的研发人员和技术爱好者。 使用场景及目标:①理解增程式电动汽车能量管理策略的基本原理;②掌握动态规划算法和等效燃油消耗最小策略的应用;③学习工况识别算法的设计和实现;④了解基于工况识别的A-ECMS策略的具体实现及其优化效果。 其他说明:此资源不仅提供了详细的MATLAB/Simulink代码实现,还深入分析了各算法的原理和应用场景,适合用于学术研究和工业实践。在学习过程中,建议结合代码调试和实际数据进行实践,以便更好地理解策略的优化效果。此外,论文还探讨了未来的研究方向,如深度学习替代聚类、多目标优化以及V2X集成等,为后续研究提供了思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值