我在网上搜索过但找不到这个问题的答案..
我有一个jquery .position
语句可以更改元素的css,但如果该位置返回null则会失败。如何将空值转换为0以便添加到位置?
var menu = $('.menu');
var menuposition = menu.offset();
$('.other').css('top', menuposition.top + 100);
如果menuposition的值为null
,则语句失败。感谢您的想法!
答案 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');