Jquery .position为null转换为0

时间:2014-07-08 21:59:38

标签: javascript jquery css null offset

我在网上搜索过但找不到这个问题的答案..

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

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

如果menuposition的值为null,则语句失败。感谢您的想法!

2 个答案:

答案 0 :(得分:0)

如何设置菜单位置的默认值?像这样...

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

答案 1 :(得分:0)

让API返回null的缺点之一。这里可以使用Null Object模式来简化API,从而减轻客户端处理空值的负担。

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

因此,你可以这样做:

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

$('.other').css('top', menuTop + 'px');