首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jQuery动态更改窗口大小上的CSS

使用jQuery动态更改窗口大小上的CSS
EN

Stack Overflow用户
提问于 2014-04-14 15:22:55
回答 1查看 2.3K关注 0票数 0

我正在构建一个餐厅菜单系统,选择的菜单可以在点击时滑行。

但是,所有东西都正常工作,但是,我现在正试图通过窗口动态地调整它的大小。

有很大的困难,我的jQuery进展顺利,但撞墙了.

jQuery

代码语言:javascript
复制
var $mmenu = $('.menu__main');

if ($mmenu.length > 0) {

    var $mnav = $('.menu__nav'),
        $mnav_a = $mnav.find('a'),
        m = parseInt($mnav.outerHeight(true), 10),
        $contain = $mmenu.closest('.menu-container'),
        h = 0,
        l = 0;

    $mmenu.not(':eq(0)').hide();
    $mmenu.eq(0).addClass('active');
    $mnav_a.eq(0).addClass('active');

    $mmenu.each(function(z) {

        var $this = $(this),
            $mmenuHeight;

        $(window).smartresize(function () {
            $mmenuHeight = parseInt($this.outerHeight(true), 10) + m;
        });

        $this.css('height','auto');

        $this.css({
            zIndex: z+1,
            position: 'absolute',
            top: m + "px",
            left: l,
            height: $mmenuHeight + "px"
        });

        l = l - $this.outerWidth();

    });

    $(window).smartresize(function () {
        $contain.height($mmenu.eq(0).height());
    });

}

$(window).trigger("smartresize");

我知道这两个$(window).smartresize()函数被错误地使用了,所以任何关于这方面的指导都将不胜感激。第一个是为单个菜单设置高度,第二个是为菜单容器设置高度。

EN

回答 1

Stack Overflow用户

发布于 2014-04-14 15:33:54

您肯定应该在这类工作中使用媒体查询。它更容易,而且得到了广泛的支持。我不知道为什么你需要绝对定位所有的菜单项。您可以使用悬停结合相对定位或转换完成滑出功能。这样你就不需要为设定个人的高度而操心那么多了。

顺便提一句,web应用程序的功能将在动态或仅在初始负载时调整大小吗?

DOCS

queries

您的代码看起来可能类似于

代码语言:javascript
复制
@media screen and (max-width:/* your desired breakpoint*/) {
     .menu li {
          width:100%;
          max-width:/* the maximum size that you want you menu item to be */
     }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23063944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档