我正在使用一个可以检测设备是否在移动设备上的平台,并且正在使用一个js脚本,该脚本希望在移动设备上查看时具有不同的设置。我只是问是否有什么办法可以做得更简单?这是我的示例代码:

function loadKwicks(){
  function desk(){
    setTimeout(function(){
      $('.kwicks').kwicks({
        minSize: 20,
        behavior: 'menu',
        duration: 500,
        autoResize:true
      });
    },500)
  }
  function mob(){
    setTimeout(function(){
      $('.kwicks').kwicks({
        minSize: 80,
        behavior: 'menu',
        duration: 500,
        autoResize:true,
        isVertical:true
      });
    },500)
  }

  if (data.device === "mobile") {
    mob();
  } else {
    desk();
}}

最佳答案

这是相同的...。但是写法不同。

function loadKwicks(){
  var mobSettings = {
    minSize: 80,
    behavior: 'menu',
    duration: 500,
    autoResize:true,
    isVertical:true
  };

  var deskSettings = {
    minSize: 20,
    behavior: 'menu',
    duration: 500,
    autoResize:true
  };

  var settings = (data.device === "mobile") ? mobSettings : deskSettings;

  setTimeout(function(){
    $('.kwicks').kwicks(settings);
  },500);
}


而且可以缩短更多时间!

function loadKwicks(){
  var settings = [
    {
      minSize: 20,      // Desktop settings
      behavior: 'menu',
      duration: 500,
      autoResize:true
    },
    {
      minSize: 80,      // Mobile settings
      behavior: 'menu',
      duration: 500,
      autoResize:true,
      isVertical:true
    }
  ];

  setTimeout(function(){
    $('.kwicks').kwicks(settings[(data.device === "mobile")?1:0]);  // True will evaluate as 1
  },500);
}

关于javascript - 处理台式机和移动设备脚本初始化的最佳方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44714840/

10-11 22:04
查看更多