0

我有一张幻灯片,我想在其中显示特定于每个设备的照片。iPhone、iPad、台式机。

我想用这样的东西来过滤掉每一个。显然 display:none 不会工作,因为它是 JavaScript,但这只是它应该如何工作的一般概念:

<style type="text/css">
@media only screen and (min-width: 800px) {
    #slide-desktop{display:block;}
    #slide-ipad{display:none;}
    #slide-iphone{display:none;}
}
@media only screen and (min-width: 481px) and (max-width: 799px) {
    #slide-desktop{display:none;}
    #slide-ipad{display:block;}
    #slide-iphone{display:none;}
}
@media only screen and (max-width: 480px) {
    #slide-desktop{display:none;}
    #slide-ipad{display:none;}
    #slide-iphone{display:block;}
}
</style>
<div id="slide-desktop">
    <script>
        $.vegas('slideshow', {
        delay:6000,
        backgrounds:[
        { src:'images/slide/desktop.jpg', fade:600 },
        ]
        })('overlay');
    </script>
</div>
<div id="slide-ipad">
    <script>
        $.vegas('slideshow', {
        delay:6000,
        backgrounds:[
        { src:'images/slide/ipad.jpg', fade:600 },
        ]
        })('overlay');
    </script>
</div>
<div id="slide-iphone">
    <script>
        $.vegas('slideshow', {
        delay:6000,
        backgrounds:[
        { src:'images/slide/iphone.jpg', fade:600 },
        ]
        })('overlay');
    </script>
</div>
4

2 回答 2

1

如果你想根据媒体查询运行不同的脚本,你可以使用enquire.js

enquire.js是一个轻量级的纯 JavaScript 库,用于响应 CSS 媒体查询。

所以,你根本不需要把任何东西放在风格中。

于 2013-11-01T21:56:43.487 回答
1

如果你想通过设备宽度检查,你可以使用这样的简单 javascript

   if(window.innerWidth >= 800)
   {
     alert('desktop?');
   }
   else if(window.innerWidth >= 481 && window.innerWidth < 799)
   {
     alert('ipad?');
   }
   else if(window.innerWidth < 480)
   {
    alert('iphone?');
   }

但我不会采用这种技术。查看

在 jQuery 中检测移动设备的最佳方法是什么?

于 2013-11-01T21:57:07.203 回答