相对于另一个不工作的定位元件
Positioning element relative to another not working
我试图定位一个元素相对于另一个使用jQuery offset()
方法,我试图找出为什么$(window).resize
函数不工作。
JSBIN: http://jsbin.com/lanako/7/edit?html、js、输出
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<style>
div{
display:inline-block;
position:relative;
height:200px;
width:200px;
border:solid black;
}
#somepara{
border: solid blue;
position:relative;
left:20%;
}
</style>
<body>
<div id ="first"> FIRST</div>
<div id = 'somepara'> </div>
</body>
</html>
JavaScript: var p = $( "#somepara" );
var pf = $('#first');
var offset = p.offset();
p.html( "left: " + offset.left);
function offcss(){
pf.css({'left': offset.left + 6 + "px"});
}
$(document).ready(function(){
offcss();
$(window).resize(function(){
offcss();
});
});
我基本上抓住第二个元素('#somepara')
的offset().left
,并试图将('#first')
的css设置为(#somepara)
的右6个像素。注意:(#somepara)
有一个流体测量(%),因此左侧位置发生变化。
这个等式最初是有效的,但是我想在调整浏览器的大小后,为计算(#first)
的css left属性的等式pf.css()
执行。不幸的是,我设置的$(window).resize
函数不起作用,因此(#first)
的左侧属性保持不变。我想要的最终目标是无论浏览器大小如何,元素将被6个像素隔开(#first
从#somepara
右6个像素)。
任何帮助都将非常感激!
#somepara
的位置在调整大小时发生变化,因此每次调用offcss()
函数时都需要取p.offset()
的值(而不仅仅是在第一次加载时)
function offcss() {
pf.css({'left': p.offset().left + 6 + "px"});
}
关于大小的调整,它似乎正是你想要的。
检查这个例子:
http://jsbin.com/dewazuyuqo/1/edit?html、js、输出
相关文章:
- Chrome地理定位在更新后停止工作
- 地理定位在Jsfidle中工作,但不在任何其他JS编辑器中
- Phonegap地理定位无法在移动设备上工作
- 地理定位无法在chrome中工作
- "此网站似乎使用滚动链接定位效果.这可能不能很好地与异步平移一起工作;
- cordova背景地理定位无法在背景上工作
- Javascript函数不工作.脚本定位问题
- 地理定位应用程序不工作
- Dojo中的包定位是如何工作的
- 日期选取器定位工作不正常
- 地理定位可以在网络浏览器上工作,但不能在android手机浏览器上工作
- 当所有其他元素都工作时,JavaScript无法在页面上按ID定位一个特定元素
- 猜测HTML5地理定位何时能正常工作
- Html5地理定位不能在safari浏览器上工作
- Cordova地理定位插件不能在android上工作
- 窗口.第二次定位不工作
- 引导日期拾取器定位不工作
- 固定定位在Android 2.3浏览器应该工作.应该# 39;t
- -webkit-transform:使用+=运算符的增量重新定位不工作
- 地理定位工作不正常