jquery 设置margin-top 刷新之后就失效了

jquery 设置margin-top 刷新之后就失效了,第1张

我觉得最大的可能是你用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如何获得网页实际高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9586823.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存