Jquery 如何避免偏移量()的十进制值。左
我正在使用Jquery 如何避免偏移量()的十进制值。左,jquery,html,css,Jquery,Html,Css,我正在使用构建一个弹出式菜单 例如: <ul class="uiMenu"> <li>One <ul> <li>Test Child</li> </ul> </li> <li>Two <ul> <li>Test Child 2</li>
构建一个弹出式菜单
例如:
<ul class="uiMenu">
<li>One
<ul>
<li>Test Child</li>
</ul>
</li>
<li>Two
<ul>
<li>Test Child 2</li>
</ul>
</li>
<li>Three</li>
</ul>
- 一个
- 测试儿童
- 两个
- 测试儿童2
- 三
因此,菜单的左
偏移量
的弹出按钮应该是父菜单项的左
偏移量
当我遍历每个父对象时,我注意到偏移量是十进制值。
但在IE的旧版本中,它们不是,只是为了简单起见,我想避免十进制偏移
有没有办法确保偏移值最终是整数
您可以使用parseInt(offsetValue)方法。这将对小数进行四舍五入。您可以使用parseInt(offsetValue)方法。这将对小数进行四舍五入。只需使用
Math.round()
/Math.floor()
:
只需使用
Math.round()
/Math.floor()
:
一个巧妙的javascript技巧是,左移零位将截断任何小数位,实际上与
Math.floor()的操作相同。
例如
/*此==1*/
1.3一个简洁的javascript技巧是,左移零位将截断任何小数点,实际上与Math.floor()相同。
例如
/*此==1*/
1.3它迭代“uiMenu”中的所有LI元素。以获得更好且无冲突的代码。向顶级标题列表提供ID
<ul class="uiMenu">
<li class="title">One
<ul>
<li>Test Child</li>
</ul>
</li>
<li class="title">Two
<ul>
<li>Test Child 2</li>
</ul>
</li>
<li class="title">Three</li>
</ul>
它迭代“uiMenu”中的所有LI元素。以获得更好且无冲突的代码。向顶级标题列表提供ID
<ul class="uiMenu">
<li class="title">One
<ul>
<li>Test Child</li>
</ul>
</li>
<li class="title">Two
<ul>
<li>Test Child 2</li>
</ul>
</li>
<li class="title">Three</li>
</ul>
使用
$(文档).ready(函数(){
})) 使用
$(文档).ready(函数(){
})) 不,这不会解决问题,因为我以此为基础的元素的偏移量仍然是十进制值,使弹出菜单与父项不对齐。不,这不会解决问题,因为我以此为基础的元素的偏移量仍然是十进制值,使弹出菜单与父项不对齐。
<ul class="uiMenu">
<li class="title">One
<ul>
<li>Test Child</li>
</ul>
</li>
<li class="title">Two
<ul>
<li>Test Child 2</li>
</ul>
</li>
<li class="title">Three</li>
</ul>
$('.title ').each(function(){
console.log('offset().left: ' + $(this).offset().left);
});
$('.uiMenu > li').each(function(){
console.log('offset().left: ' + parseInt($(this).offset().left));
});