windows.resize函数问题

时间:2014-07-01 18:57:53

标签: javascript jquery html css

这是我的代码

$(document).ready(function(){
    $(window).resize(function() {
        if ($(window).width() > 980) {
            $('.info-container a').toggle(function() {
                $(this)
                    .closest('li')
                    .find('.work-info')
                    .fadeIn();
                return false;
            }, function() {
                $(this)
                    .closest('li')
                    .find('.work-info')
                    .fadeOut();
                return false;
            });
        }
        else {
            $('.info-container a').unbind('click'); 
        }
    });
});

我希望在浏览器宽度>时显示点击隐藏的div 980px。

当我打开页面时 - 只要窗口的宽度不会改变,代码就不起作用。之后,它运作正常。

以下是我在JSFIDDLE中的代码,但它在那里不起作用......

1 个答案:

答案 0 :(得分:0)

这是因为你的函数在$(window).resize();功能。如果您希望它能够工作,您需要在click事件和调整大小事件时启动。

您可以通过单独包装函数并在document.click和window.resize上启动它们来实现此目的。

$(document).ready(function(){
    var hide = function(){
        if ($(window).width() > 980) {
            $('.info-container a').toggle(function() {
                $(this)
                    .closest('li')
                    .find('.work-info')
                    .fadeIn();
                return false;
            }, function() {
                $(this)
                    .closest('li')
                    .find('.work-info')
                    .fadeOut();
                return false;
            });
        }
        else {
            $('.info-container a').unbind('click'); 
        }
    };
    $(document).click(hide);
    $(window).resize(hide);
)};