学习if和else函数的jquery语法

时间:2014-01-29 03:22:33

标签: jquery syntax

如果元素在屏幕上可见,我正在尝试编写if或else函数。任何帮助都会很棒

function isVisable( element, container ){

        var elementTop = $(element).offset().top,
            elementHeight = $(element).height(),
            containerTop = $(container).offset().top,
            containerHeight = $(container).height();

        return ((((elementTop - containerTop) + elementHeight) > 0) && ((elementTop - containerTop) < containerHeight));
    }





    if (isVisable(".section section_2", ".project_images")); {
        $('.top').hide();
    }

    else {
        $('.top').show();
    }

3 个答案:

答案 0 :(得分:1)

这里有语法错误:

if (isVisable(".section section_2", ".project_images")); {
    $('.top').hide();
}
else {
    $('.top').show();
}

在此处删除分号".project_images")); {

答案 1 :(得分:1)

如果最终你所做的只是选择是hide()还是show(),你可以使用fadeToggle();

$('.top').fadeToggle();

如果它取决于另一个元素的可见性,您可以使用:

$('#another_element').is(':visible') ? $('.top').hide() : $('.top').show();

最后,如果必须使用自定义函数来确定元素可见性PLUS位置,则可以使用:

isVisable(".section section_2", ".project_images") ? $('.top').hide() : $('.top').show();

效率更高+看起来更干净+不重新发明轮子,虽然我们都喜欢:)

希望这有帮助!

答案 2 :(得分:0)

.length可用于检查元素是否可见。

可以非常简单地使用,例如:

$("element-to-be-checked").length