
我觉得最大的可能是你用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 选择器中 :last 表示最后一个元素,所以表示含有某类属性的最后一个元素可用如下代码表示
$("test-class:last") // 表示最后一个属于test-class类的元素
示例如下:
创建Html元素
<div class="top">
<ul>
<li>list-1</li>
<li class="selected">list-2</li>
<li class="selected">list-3</li>
<li>list-4</li>
<li class="selected">list-5</li>
</ul>
<span>红色列表项表示属于selected类,d出框显示了最后一个属于selected类的元素的内容</span>
</div>
设置css样式
divtop{margin:50px;padding:10px;width:300px;height:250px;border:2px dashed #ebbcbe;}
li{padding:5px;}
liselected{color:red;font-weight:bold;}
span{color:#999;}
编写jquery代码
$(function(){
$("ul")click(function() {
alert($("liselected:last")text());
});
})
观察显示效果
1、新建一个html文件。
2、为了更好区分,会创建两个按钮标签,然后给这两个按钮标签添加不同的id。
3、引入jquery文件(注:jquery的引入路径一定要正确)。
4、创建加载完成函数,然后创建一个点击按钮获取当前id的函数。
5、保存好html文件后使用浏览器打开,然后点击按钮即可看到点击的id。
6、页面所有代码,如有不懂可把所有代码复制到新建的html文件上,然后修改引入的jquery文件即可。
height()
-获取匹配元素集合中的第一个元素的当前计算高度值 或 设置每一个匹配元素的高度值。
-css('height') 和 height()之间的区别是后者返回一个没有单位的数值,前者是返回带有完整单位的字符串。当一个元素的高度需要数学计算的时候推荐使用height() 方法 。
-这个方法同样能计算出window和document的高度。
$(window)height(); // returns height of browser viewport
$(document)height(); // returns height of HTML document
注意:在绝对定位和给定display:block时,虽然style和script标签用width() 或 height()也将报告一个值,强烈建议不要在这些标签中调用这些方法。这是一种不好的做法,结果也证明是不可靠的。
innerHeight()
-为匹配的元素集合中获取第一个元素的当前计算高度值,包括padding,但是不包括border。
-这个方法返回元素的高度,包括顶部和底部的padding,单位是像素。
-这个方法不适用于window and document对象,可以使用height()代替。
outerHeight()
-获取元素集合中第一个元素的当前计算高度值,包括padding,border和选择性的margin。返回一个整数(不包含“px”)表示的值 ,或如果在一个空集合上调用该方法,则会返回 null。
-outerHeight( [includeMargin ] ):include是一个布尔值,表明是否在计算时包含元素的margin值。
-这个方法不适用于window 和 document对象,可以使用height()代替。
jQuery 选择器中 :last 表示最后一个元素,所以表示含有某类属性的最后一个元素可用如下代码表示
$("test-class:last") // 表示最后一个属于test-class类的元素示例如下:
创建Html元素
<div class="top"><ul>
<li>list-1</li>
<li class="selected">list-2</li>
<li class="selected">list-3</li>
<li>list-4</li>
<li class="selected">list-5</li>
</ul>
<span>红色列表项表示属于selected类,d出框显示了最后一个属于selected类的元素的内容</span>
</div>
设置css样式
divtop{margin:50px;padding:10px;width:300px;height:250px;border:2px dashed #ebbcbe;}li{padding:5px;}
liselected{color:red;font-weight:bold;}
span{color:#999;}
编写jquery代码
$(function(){$("ul")click(function() {
alert($("liselected:last")text());
});
})
观察显示效果
以上就是关于jquery 设置margin-top 刷新之后就失效了全部的内容,包括:jquery 设置margin-top 刷新之后就失效了、jq获取最后一个元素、jQ如何获得网页实际高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)