Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 处理桌面和移动设备脚本初始化的最佳方法?_Javascript_Jquery - Fatal编程技术网

Javascript 处理桌面和移动设备脚本初始化的最佳方法?

Javascript 处理桌面和移动设备脚本初始化的最佳方法?,javascript,jquery,Javascript,Jquery,我使用的平台可以检测设备是否在移动设备上,我使用的是js脚本,我希望在移动设备上查看时有不同的设置。我只是想问有没有什么方法可以让我做得更简单一些?这是我的示例代码: function loadKwicks(){ function desk(){ setTimeout(function(){ $('.kwicks').kwicks({ minSize: 20, behavior: 'menu', duration: 500,

我使用的平台可以检测设备是否在移动设备上,我使用的是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);
}

哦,那更干净更简单!为什么我没有想到这是一件物品谢谢你的提示D