JS 固定两个DIV一样高

<!DOCTYPE html>
<html>
<head>
  <style>p { color:red; }</style>
  <script src="jquery-1.8.2.min.js"></script>
  <script>
	  $(document).ready(function () {
		  var mright =  $(".main_right").height();
			 var mleft =  $(".main_left").height();
			 if(mright > mleft){
				 $(".main_left").height(mright+"px");
			}else{
				 $(".main_right").height(mleft+"px");
			}
	  });
  </script>
 
<style type="text/css">
<!--
.main_right {background-color:#d55600;}
.main_left {background-color:#d34600;}
-->
</style>
</head>
<body>
	<div class="main_right" width="80">
		<h3><a href="${ctx }/home/showmenu/1">更多>></a>每周食谱</h3>
	</div>
	<div class="main_left" width="80">
		<h3><a href="${ctx }/home/showannounce/1">更多>></a>校园公告</h3>
		<h3><a href="${ctx }/home/showannounce/1">更多>></a>校园公告</h3>
		<h3><a href="${ctx }/home/showannounce/1">更多>></a>校园公告</h3>
		<h3><a href="${ctx }/home/showannounce/1">更多>></a>校园公告</h3>
		<h3><a href="${ctx }/home/showannounce/1">更多>></a>校园公告</h3>
	</div> 
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、遇顶固定的例子 我一直以为是某个div或层随屏幕滚动,遇顶则固定,离开浏览器顶部又还原这样的例子其实不少,其实它的名字叫“层的智能浮动效果”。目前我们在国内的商业网站上就常常看到这样的效果了。例如淘宝网的搜索结果页的排序水平条,在默认状态时,该工具条是跟随页面滚动的,如下图: 而当我们下拉滚动条,随着页面向下滚动,当此工具条接触到浏览器的上边缘时,这时就会独立出来固定在顶部,不跟随页面滚动而滚动了,如下图: 类似的例子效果我们在别的网站上都有看到过,例如腾讯微博首页上,当我们下拉屏幕浏览最新微博时,工具条也会出现这个效果,如下图: 这个效果看上去方便,贴心,也许还带推动广告的促销呢。原理其实很简单,本文展示两种方法。 二、智能浮动效果的实现原理 它分两种状态,一是默认状态,二是浮动固顶状态。 默认状态就是默认状态,什么也不用做,保持原有的CSS就好。无论有没有对它做定位,做了absolute也好,没做也好,都行。 关键是当浏览器屏幕滚动时,该对象div层要移除浏览器界面视区的时候,是要修改它的position属性,让它浮动在窗口的上沿显示就行了。最好的position属性是fixed,可以在IE6+和其他浏览器浮动层平滑的固定定位,由于IE6老大哥不支持fixed属性,所以可以另外赋予它absolute属性。当然也会产生副作用——滚动不平滑。不过也无所谓了,在微软公布不再修补更新XP漏洞,在中国360安全卫士的帮助下虽然大家仍然使用XP,但IE的用户已经是少之又少了。 那接下来,如何判断当前div层与浏览器窗口的上边缘接触了呢?遇到浏览器顶部了呢? 当浮动层div与浏览器窗口上边缘接触的一瞬间,其页面垂直偏移值与页面的滚动度是一致的,所以我们就用这个进行判断。那如何获得页面上元素距离页面的垂直距离呢? 这里则是使用javaScript库实现。
有多种实现方式可以实现这个需求,以下是几种常见的方法: 1. 使用CSS的`position: fixed`和`bottom`属性。将固定在最下方的`div`设置为`position: fixed`,并通过设置`bottom: 0`使其固定在底部。另一个可滑动的`div`则可以使用默认的滚动行为,不需要额外的CSS样式。 ```html <div class="scrollable-div"> <!-- 可滑动的内容 --> </div> <div class="fixed-div"> <!-- 固定在最下方的内容 --> </div> ``` ```css .fixed-div { position: fixed; bottom: 0; } ``` 2. 使用CSS的Flexbox布局。使用Flexbox布局可以更方便地实现这个需求。将外部容器设置为Flexbox布局,并将其方向设置为`column`,然后使用`flex-grow`属性将可滑动的`div`的度设置为剩余空间的倍数,将固定在最下方的`div`设置为固定度。 ```html <div class="flex-container"> <div class="scrollable-div"> <!-- 可滑动的内容 --> </div> <div class="fixed-div"> <!-- 固定在最下方的内容 --> </div> </div> ``` ```css .flex-container { display: flex; flex-direction: column; height: 100vh; /* 设置度以确保撑满整个视口 */ } .scrollable-div { flex-grow: 1; /* 占据剩余空间 */ overflow-y: scroll; /* 添加滚动条 */ } .fixed-div { height: 100px; /* 固定度 */ } ``` 3. 使用JavaScript动态计算度。利用JavaScript可以动态计算可滑动的`div`的度,使其占据剩余空间,而固定在最下方的`div`则设置为固定度。 ```html <div class="scrollable-div" id="scrollableDiv"> <!-- 可滑动的内容 --> </div> <div class="fixed-div"> <!-- 固定在最下方的内容 --> </div> ``` ```css .fixed-div { height: 100px; /* 固定度 */ } ``` ```javascript var scrollableDiv = document.getElementById('scrollableDiv'); var fixedDiv = document.querySelector('.fixed-div'); var windowHeight = window.innerHeight; scrollableDiv.style.height = (windowHeight - fixedDiv.offsetHeight) + "px"; ``` 这些是几种常见的实现方式,具体选择哪种方式取决于你的需求和项目的具体情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值