【问题标题】:jQuery if-request max-width for mediaqueries用于媒体查询的 jQuery if-request max-width
【发布时间】:2013-10-11 15:59:04
【问题描述】:

我想在我的网站中为我的 jQuery 函数使用 if-requests 以获得特殊的窗口宽度。这个 jQuery 函数启用和禁用某些 div 的属性显示,如果桌面大于 1300 像素,它应该同时显示所有列而不是仅显示两个列。我的 jQuery 函数如下所示:

function changeCol() {
    var d1= document.getElementById('right-col');
    $(d1).removeClass('hidden');
    $(d1).fadeIn(200);
};

2cols 模式下 cols 的 CSS 如下所示:

.col {
   float: left;
   margin-right: 1.36986301369863%;
   /*width: 31.50684931506849%;*/
   width: 47.93617021276596%;
   height: 100%;
   padding: 0 1.36986301369863%;
   overflow-y: auto;
   overflow-x: hidden;
}

width: 47.9% 是两个显示列的宽度,width: 33.% 是同时显示三个列的宽度。

【问题讨论】:

    标签: javascript jquery html css media-queries


    【解决方案1】:

    你根本不需要 jQuery。

    使用 CSS

    .right-col {
        width: 0;
        opacity: 0;
    
        -webkit-transition: opacity 200ms ease-out;
        -moz-transition: opacity 200ms ease-out;
        -ms-transition: opacity 200ms ease-out;
        -o-transition: opacity 200ms ease-out;
        transition: opacity 200ms ease-out;
    }
    
    @media only screen and (min-width: 1300px) {
        .right-col {
            width: auto;
            opacity: 1;
        }
    }
    

    应该保留这个fadeIn 动画。

    这是我准备给你看效果的一个小提琴:http://jsfiddle.net/CgwDH/

    【讨论】:

    • 太棒了!我不得不承认,它在你的 fiddleJS 中工作得很好。问题是,我有一个右列在点击时动态加载,而它的 url 发生变化,而没有重新加载页面。是否也可以使用 CSS 来做到这一点?问候
    • 不幸的是,这是不可能的。如果您想知道怎么做,您应该了解什么是 AJAX 或提出一个新问题。同时,如果您接受我的回答,我会很高兴。谢谢。
    • 我知道 AJAX 是什么,并且我的 Weppages 可以工作,即使是 - 到目前为止。我的问题与我在顶部描述的相同。也许我在问题中的表述不够清楚 - 但我需要一个 if-request,它要求页面的宽度作为函数的条件。问候。
    • 好的,现在只是研究人员一段时间,您的解决方案似乎是最好的。对此点赞。
    猜你喜欢
    • 1970-01-01
    • 2013-04-27
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    • 2013-02-28
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    相关资源
    最近更新 更多