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选择器的: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>

第&nbsp;<input type="text" name="num">&nbsp;个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怎么获取元素距离屏幕的位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9826652.html

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

发表评论

登录后才能评论

评论列表(0条)

保存