javascript - 使用 CSS-Element-Queries 库模拟 CSS 的媒体查询

标签 javascript jquery html css

我用了这个看似花哨的CSS-Element-Queries tool对于每次调整窗口大小时都会启动的一些基本元素操作。

简而言之,我想根据当前窗口宽度更改元素属性的值,即每次以某种方式调整窗口大小时,我都想检查其宽度,然后对某个元素执行某些操作 .

我按照教程中的方式进行了所有操作,但一定是出了什么问题,因为它根本不起作用。这是代码:

<script src="css-element-queries/src/ResizeSensor.js"></script>
<script src="css-element-queries/src/ElementQueries.js"></script>

<script>
    new ResizeSensor(jQuery(window), function(){ 
        var a = $(window).width();

        if (a < 1024 && a > 768) {
            $(".slideshow").attr("data-cycle-carousel-visible", 4);
        }
        if (a <= 768 && a > 480) {
            $(".slideshow").attr("data-cycle-carousel-visible", 3);
        }
        if ((a <= 480) && (a > 320)) {
            $(".slideshow").attr("data-cycle-carousel-visible", 2);
        }
        if (a <= 320) {
            $(".slideshow").attr("data-cycle-carousel-visible", 1);
        }
    });
</script>

最佳答案

您需要观察窗口调整大小,然后在调整大小时调用调整器函数。

//watch for resize
 $( window ).resize(function() {
   //call function each time window is resized
   resizr();
 });

 var resizr = new ResizeSensor(jQuery(window), function(){ 
    var a = $(window).width();

    if (a < 1024 && a > 768) {
        $(".slideshow").attr("data-cycle-carousel-visible", 4);
    }
    if (a <= 768 && a > 480) {
        $(".slideshow").attr("data-cycle-carousel-visible", 3);
    }
    if ((a <= 480) && (a > 320)) {
        $(".slideshow").attr("data-cycle-carousel-visible", 2);
    }
    if (a <= 320) {
        $(".slideshow").attr("data-cycle-carousel-visible", 1);
    }
});

关于javascript - 使用 CSS-Element-Queries 库模拟 CSS 的媒体查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44336403/

相关文章:

javascript - 想要在单击按钮时移动到不同的 DIV

javascript - R Shiny HTML UI 无法正常工作

php - 如何删除(不是删除)动态生成的表格元素?

javascript - Angular - 检查多个子组件是否脏

javascript - 如何添加 printThis() 元素异常?

javascript - 不同内核上的多个 node.js 实例

jQuery:选择列表中的最后 4 项

javascript - 在嵌套 iframe 内使用/安装库

javascript - HTML5 canvas 中文本的淡出效果

javascript - 如何在 gatsby 中对用户进行身份验证