2017-06-23 24 views
0

我正在使用一個平臺,可以檢測設備是否在移動設備上,並且我正在使用一個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(); 
}} 

回答

1

這是一樣的....但寫入不同。

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); 
} 
+1

哦,這更乾淨,更簡單!爲什麼我沒有想過,這是一個對象感謝提示! :d – icedoge

相關問題