Jquery .position将null转换为0

Jquery .position is null convert to 0

本文关键字:转换 null position Jquery      更新时间:2023-09-26

我已经在网上搜索过了,还没有找到这个问题的答案。

我有一个jquery .position语句,改变一个元素的css,但如果位置返回null失败。如何将空值转换为0以便添加到位置?

    var menu = $('.menu');
    var menuposition = menu.offset();
        $('.other').css('top', menuposition.top + 100);

如果menuposition的值为null,则语句失败。谢谢你的建议!

为菜单位置设置一个默认值怎么样?像这样…

var menu = $('.menu');
var menuposition = menu.offset() || {top:0};
    $('.other').css('top', menuposition.top + 100);

这是返回null的API的缺点之一。Null对象模式在这里可以用来简化API,减轻客户端处理空值的麻烦。

".offset()返回一个包含top和left属性的对象"

因此,可以这样做:

var menuOffset = menu.offset() || { top: 0, left: 0 },
    menuTop = menuOffset.top + 100;
$('.other').css('top', menuTop + 'px');