【问题标题】:Serving a different set of images for mobile为移动设备提供一组不同的图像
【发布时间】:2015-04-19 12:12:00
【问题描述】:

我正在使用jQuery-backstretch 在我的页面上提供褪色的背景图像。这适用于桌面,但由于这些图像非常详细,我只需要为移动用户使用另一组图像。

到目前为止,我已经了解了如何为移动设备禁用脚本(或为各个页面使用不同的图像:Using Backstretch for different images for individual pages),但我很想知道如何为移动设备提供一组完全不同的图像。

<script>
function detectmob() {
  if(window.innerWidth <= 800 && window.innerHeight <= 600) {
     return true;
   } else {
     return false;
   }
}

if(!detectmob()){

    $.backstretch(["imgs/1.jpg"
, "imgs/2.jpg"
, "imgs/3.jpg"
, "imgs/4.jpg"
], {duration: 1800, fade: 4000});
}
</script>

有人有解决办法吗?非常感谢。

【问题讨论】:

    标签: javascript jquery mobile responsive-design jquery-backstretch


    【解决方案1】:

    您必须以某种方式检测视口大小并基于此调用回伸。

    您可以使用matchMedia,而不是检查窗口宽度。

    if (window.matchMedia("(min-width: 992px)").matches) {
     // phone
    $.backstretch(["imgs/1_phone.jpg"
    , "imgs/2_phone.jpg"
    , "imgs/3_phone.jpg"
    , "imgs/4_phone.jpg"
    ], {duration: 1800, fade: 4000});
    
    } else {
    
    //tab or desktop
    $.backstretch(["imgs/1.jpg"
    , "imgs/2.jpg"
    , "imgs/3.jpg"
    , "imgs/4.jpg"
    ], {duration: 1800, fade: 4000});
    
    
    }
    

    你可以这样做。

    【讨论】:

    • 这将解决我的问题。我现在尝试了代码,但不知何故它不能正常工作。 Backstretch 不再显示任何图像。这是带有代码的示例网站。 wuel.avx.pl有什么线索吗?谢谢。
    • jquery &backstretch 未加载..我在答案中给出的解决方案中也存在语法错误,我现在已更正..
    • 现在完美运行。谢谢你。我只编辑了代码的第一行,从if (window.matchMedia("(min-width: 992px)").matches) { // phoneif (window.matchMedia("(max-width: 992px)").matches) { // phone
    猜你喜欢
    • 2018-09-19
    • 1970-01-01
    • 2013-04-18
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多