我觉得最大的可能是你用jquery设置的margin-top没有加单位的原因,其次也可能有$('logo')height()-$('logo_img')height()缺少数值类型转换的因素。
要加上单位,像下面这样:
<script>
$(document)ready( function (){
$('logo_img')css({
'margin-top':(($('logo')height()-$('logo_img')height())/2) + 'px'
});
});
</script>
保险起见的话,再加上类型转换:
<script>
$(document)ready( function (){
$('logo_img')css({
'margin-top':((parseFloat($('logo')height())-parseFloat($('logo_img')height()))/2) + 'px'
});
});
</script>
还有,如果这个元素在页面中是唯一的,本人还是推荐用id去获取元素,这样用js选择器取值时也会更直接快速,保持良好的代码书写习惯,很重要。
可以用jquery选择器的:eq选择器或者jquery遍历的eq()方法,下面带那给出ul下第4个li的内容
$("ul li:eq(3)") // 元素的index位置工0开始计数,所以这里的3实际为第4个元素$("ul")find("li")eq(3)
示例代码如下
创建Html元素
<div class="box"><span>点击按钮获取指定位置元素:</span><br>
<div class="content">
<li>梨子</li>
<li>李子</li>
<li>栗子</li>
<li>荔枝</li>
</div>
第 <input type="text" name="num"> 个li元素<input type="button" value="确定">
</div>
设置css样式
divbox{width:300px;padding:20px;margin:20px;border:4px dashed #ccc;}divbox span{color:#999;font-style:italic;}
divcontent{width:250px;margin:10px 0;padding:20px;border:2px solid #ff6666;}
li{margin:10px 0;}
input[type='text']{width:50px;padding:5px 10px;border:1px solid #ff9966;}
input[type='button']{height:30px;margin:10px;padding:5px 10px;}
编写jquery代码
$(function(){$("input:button")click(function() {
num = $("input:text[name='num']")val()-1; // index从0开始计算
str = $("divcontent")find("li")eq(num)text(); // eq()遍历方法
// 或者使用如下:eq()选择器的方法,单数之一要拼接字符串
// str = $("divcontent li:eq("+num+")")text() // :eq()选择器
alert(str);
})
})
观察效果
$(window)height();//是文档窗口高度
$("div")offset()top//是标签距离顶部高度(没有到下面的距离,比如$("div")offset()down)
$("div")offset()left//是标签距离右边高度(没有到下面的距离,比如$("div")offset()right)
$(document)scrollTop();//是滚动条高度
$("div")height();//是标签高度
你要的高度+$("div")height()+[$("div")offset()top-$(document)scrollTop()]=$(window)height();
经过简单的数学变换即可得到你要的值了
获取页面某一元素的绝对X,Y坐标,可以用offset():
var X = $(‘#DivID’)offset()top;
var Y = $(‘#DivID’)offset()left;
获取相对(父元素)位置:
var X = $(‘#DivID’)position()top;
var Y = $(‘#DivID’)position()left;
通过getBoundingClientRect方法获取对象位置,包含: left , top , right , bottom 4个参数值。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>show</title>
<style type="text/css">
div {
float: left;
width: 100px;
height: 80px;
border: 1px solid #0ff;
margin-right: 5px;
display:block;
}
</style>
<!--$("btn")是找到class="btn"的信息,直接each循环出div,里面的children(),里面的item,就是你想要的子元素了,(深圳网站建设:=">
以上就是关于jquery 设置margin-top 刷新之后就失效了全部的内容,包括:jquery 设置margin-top 刷新之后就失效了、jquery 怎样获取某元素以下的第n个元素、jquery怎么获取元素距离屏幕的位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)