我希望通过javascript应用媒体查询

我希望通过javascript应用媒体查询,javascript,media-queries,Javascript,Media Queries,我想将菜单的div从左向右滑动,我已经使用javascript完成了这项工作 <div id="script" style="height: 250px;"> <div class="slide"> <div id="div1" class="slide-item"> <p>Home</p>

我想将菜单的div从左向右滑动,我已经使用javascript完成了这项工作

     <div id="script" style="height: 250px;">
                <div class="slide">
                    <div id="div1" class="slide-item">
                        <p>Home</p>
                    </div>
                </div>
                <div class="slide">
                    <div id="div2" class="slide-item">
                        <p>About Us</p>
                    </div>
                </div>
                <div class="slide">
                    <div id="div3" class="slide-item">
                        <p>Events</p>
                    </div>
                </div>
                <div class="slide">
                    <div id="div4" class="slide-item">
                        <p>Register</p>
                    </div>

                </div>

            </div>

执行此操作时,幻灯片项目根本不会出现在屏幕上

请查看
匹配媒体的文档

它返回一个“媒体查询列表”,您必须在该列表上访问
匹配项
属性:

case window.matchMedia("screen and (min-width: 450px)").matches:
                                                       ^^^^^^^^
我不知道什么是
varmql
,但似乎您应该用
true
替换它

但正如一位评论者所提到的,你可能根本不需要这么做。您可以将CSS用于媒体查询:

#div1 { transition: all 500ms; }

@media screen and (min-width: 450px) {
    #div1 .animate { left: 60px; }
}

$(document).ready(function() {
    $('#div1').addClass('animate');
});

或者类似的东西。

请查看
匹配媒体的文档

它返回一个“媒体查询列表”,您必须在该列表上访问
匹配项
属性:

case window.matchMedia("screen and (min-width: 450px)").matches:
                                                       ^^^^^^^^
我不知道什么是
varmql
,但似乎您应该用
true
替换它

但正如一位评论者所提到的,你可能根本不需要这么做。您可以将CSS用于媒体查询:

#div1 { transition: all 500ms; }

@media screen and (min-width: 450px) {
    #div1 .animate { left: 60px; }
}

$(document).ready(function() {
    $('#div1').addClass('animate');
});

或者类似的东西。

也许你可以通过CSS设置它们的动画,为它们的容器的整个宽度设置动画,并根据CSS中的媒体查询设置容器的宽度。你是否在尝试的第一个方法中监听
resize
事件,或者第二种方法的
matchMedia
change事件?我已经用js fiddle完成了这项工作,它的工作非常好,我不知道在哪里为手机和平板电脑添加媒体查询,我正在尝试的是,它不应该从左到右达到250px,因为手机的大小减小了,它应该停止在100px,130px适用于平板电脑etcMaybe您可以通过CSS为其设置动画,为其容器的整个宽度设置动画,并根据CSS中的媒体查询设置容器宽度。您是否在尝试的第一种方法中监听
resize
事件,或者第二种方法的
matchMedia
change事件?我已经用js fiddle完成了这项工作,它的工作非常好,我不知道在哪里为手机和平板电脑添加媒体查询,我正在尝试的是,它不应该从左到右达到250px,因为手机的大小减小了,它应该停止在100px,130px适用于平板电脑etcMaybe您可以通过CSS为其设置动画,为其容器的整个宽度设置动画,并根据CSS中的媒体查询设置容器宽度。您是否在尝试的第一种方法中监听
resize
事件,或者第二种方法的
matchMedia
change事件?我已经用js fiddle完成了这项工作,它的工作非常好,我不知道在哪里为手机和平板电脑添加媒体查询,我正在尝试的是,它不应该从左到右达到250px,因为尺寸减小,它应该停止在100px(手机)和130px(平板电脑)等位置