首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Javascript数组覆盖以前的数据

Javascript数组覆盖以前的数据
EN

Stack Overflow用户
提问于 2018-08-14 22:38:51
回答 1查看 86关注 0票数 0

我正在为Adobe Illustrator编码一些东西,在下面的代码中遇到了一个问题。如果我将一个对象设置为mesh<110的80不透明度,它会将该对象更改为每个数组的54不透明度。然后数组到达54,并将刚刚从80更改为45,将45更改为39,依此类推。

当所有内容都说完和做完后,99-28中的每个对象都被设置为28,而27-1中的每个对象都被设置为27。

我试着重新排列数组,从27-0到28-100,希望它能避免分裂,但仍然有相同的问题。

我想我可能已经找到了答案,但不确定如何解释这段代码:STACK LINK HERE

代码语言:javascript
复制
function test() {
    var docRef = app.activeDocument;
    var layers = docRef.layers;
    var paths = docRef.pathItems;
    var items = docRef.selection;
    var meshtitle = "Mesh?"
    var mesh = Number(prompt("meshcount", 180, meshtitle));
    if (mesh <= 110) {
        var opacityRelationships = {
            "100": 100, "99": 99, "98": 98, "97": 97, "96": 68, "95": 67, "94": 66, "93": 65, "92": 64, "91": 63, "90": 63, "89": 62, "88": 61, "87": 61, "86": 60, "85": 59, "84": 58, "83": 57, "82": 56, "81": 55, "80": 54, "79": 53, "78": 53, "77": 52, "76": 52, "75": 52, "74": 51, "73": 51, "72": 51, "71": 50, "70": 50, "69": 50, "68": 49, "67": 49, "66": 49, "65": 48, "64": 48, "63": 48, "62": 47, "61": 47, "60": 47, "59": 46, "58": 46, "57": 46, "56": 46, "55": 45, "54": 45, "53": 45, "52": 44, "51": 44, "50": 44, "49": 43, "48": 42, "47": 41, "46": 40, "45": 39, "44": 39, "43": 38, "42": 37, "41": 37, "40": 36, "39": 35, "38": 34, "37": 34, "36": 33, "35": 33, "34": 32, "33": 32, "32": 31, "31": 30, "30": 29, "29": 28, "28": 28, "27": 27, "26": 27, "25": 26, "24": 26, "23": 25, "22": 25, "21": 24, "20": 24, "19": 24, "18": 23, "17": 23, "16": 22, "15": 22, "14": 21, "13": 21, "12": 20, "11": 20, "10": 20, "9": 19, "8": 18, "7": 17, "6": 16, "5": 15, "4": 14, "3": 13, "2": 12, "1": 11, "0": 0
        }
    }
    if (mesh > 110 && mesh <= 180) {
        var opacityRelationships = {
            "100": 40, "99": 40, "98": 40, "97": 40, "96": 40, "95": 40, "94": 40, "93": 10, "92": 10, "91": 10, "90": 10, "89": 10, "88": 10, "87": 10, "86": 86, "85": 85, "84": 84, "83": 83, "82": 82, "81": 81, "80": 80, "79": 79, "78": 78, "77": 77, "76": 76, "75": 75, "74": 74, "73": 73, "72": 72, "71": 71, "70": 70, "69": 69, "68": 68, "67": 67, "66": 66, "65": 65, "64": 64, "63": 63, "62": 62, "61": 61, "60": 10, "59": 59, "58": 58, "57": 57, "56": 56, "55": 55, "54": 54, "53": 53, "52": 52, "51": 51, "50": 50, "49": 49, "48": 48, "47": 47, "46": 46, "45": 45, "44": 44, "43": 43, "42": 42, "41": 41, "40": 40, "39": 39, "38": 38, "37": 37, "36": 36, "35": 35, "34": 34, "33": 33, "32": 32, "31": 31, "30": 30, "29": 29, "28": 28, "27": 27, "26": 26, "25": 25, "24": 24, "23": 23, "22": 22, "21": 21, "20": 20, "19": 19, "18": 18, "17": 17, "16": 16, "15": 15, "14": 14, "13": 13, "12": 12, "11": 11, "10": 10, "9": 9, "8": 8, "7": 7, "6": 6, "5": 5, "4": 4, "3": 3, "2": 2, "1": 1, "0": 0
        }
    }
    if (mesh > 180 && mesh <= 255) {
        var opacityRelationships = {
            "100": 55, "99": 55, "98": 55, "97": 55, "96": 55, "95": 55, "94": 55, "93": 55, "92": 10, "91": 10, "90": 10, "89": 10, "88": 10, "87": 10, "86": 86, "85": 85, "84": 84, "83": 83, "82": 82, "81": 81, "80": 80, "79": 79, "78": 78, "77": 77, "76": 76, "75": 75, "74": 74, "73": 73, "72": 72, "71": 71, "70": 70, "69": 69, "68": 68, "67": 67, "66": 66, "65": 65, "64": 64, "63": 63, "62": 62, "61": 61, "60": 10, "59": 59, "58": 58, "57": 57, "56": 56, "55": 55, "54": 54, "53": 53, "52": 52, "51": 51, "50": 50, "49": 49, "48": 48, "47": 47, "46": 46, "45": 45, "44": 44, "43": 43, "42": 42, "41": 41, "40": 40, "39": 39, "38": 38, "37": 37, "36": 36, "35": 35, "34": 34, "33": 33, "32": 32, "31": 31, "30": 30, "29": 29, "28": 28, "27": 27, "26": 26, "25": 25, "24": 24, "23": 23, "22": 22, "21": 21, "20": 20, "19": 19, "18": 18, "17": 17, "16": 16, "15": 15, "14": 14, "13": 13, "12": 12, "11": 11, "10": 10, "9": 9, "8": 8, "7": 7, "6": 6, "5": 5, "4": 4, "3": 3, "2": 2, "1": 1, "0": 0
        }
    }
    if (mesh > 255) {
        var opacityRelationships = {
            "100": 80, "99": 80, "98": 80, "97": 80, "96": 80, "95": 80, "94": 80, "93": 80, "92": 10, "91": 10, "90": 10, "89": 10, "88": 10, "87": 10, "86": 86, "85": 85, "84": 84, "83": 83, "82": 82, "81": 81, "80": 80, "79": 79, "78": 78, "77": 77, "76": 76, "75": 75, "74": 74, "73": 73, "72": 72, "71": 71, "70": 70, "69": 69, "68": 68, "67": 67, "66": 66, "65": 65, "64": 64, "63": 63, "62": 62, "61": 61, "60": 10, "59": 59, "58": 58, "57": 57, "56": 56, "55": 55, "54": 54, "53": 53, "52": 52, "51": 51, "50": 50, "49": 49, "48": 48, "47": 47, "46": 46, "45": 45, "44": 44, "43": 43, "42": 42, "41": 41, "40": 40, "39": 39, "38": 38, "37": 37, "36": 36, "35": 35, "34": 34, "33": 33, "32": 32, "31": 31, "30": 30, "29": 29, "28": 28, "27": 27, "26": 26, "25": 25, "24": 24, "23": 23, "22": 22, "21": 21, "20": 20, "19": 19, "18": 18, "17": 17, "16": 16, "15": 15, "14": 14, "13": 13, "12": 12, "11": 11, "10": 10, "9": 9, "8": 8, "7": 7, "6": 6, "5": 5, "4": 4, "3": 3, "2": 2, "1": 1, "0": 0
        }
    }

    function updateOpacity(item) {
        var curOpacity = Math.floor(item.opacity).toString();
        item.opacity = opacityRelationships[curOpacity];
    }
    for (var i = 0; i < paths.length; i++) {
        if (paths[i].fillColor == '[GradientColor]') {
            for (var x = 0, len = paths.length; x < len; x++) {
                for (var y = 0; y < paths[i].fillColor.gradient.gradientStops.length; y++) {
                    updateOpacity(paths[i].fillColor.gradient.gradientStops[y]);
                }
            }
        } else if (paths[i].fillColor == '[SpotColor]') {
            for (var x = 0, len = layers.length; x < len; x++) {
                for (var y = 0, yLen = layers[x].pageItems.length; y < yLen; y++) {
                    updateOpacity(layers[x].pageItems[y]);
                }
            }
        }
    }
}
test();

EN

回答 1

Stack Overflow用户

发布于 2018-08-15 04:31:57

找到了解决方案。函数在每个函数的顶部循环,我需要它们一起运行一次(我想我说对了)。

代码语言:javascript
复制
function test() {
        var docRef = app.activeDocument;
        var layers = docRef.layers;
        var paths = docRef.pathItems;
        var items = docRef.selection;
        var meshtitle = "Mesh?"
        var mesh = Number(prompt("meshcount", 180, meshtitle));
        if (mesh <= 110) {
            var opacityRelationships = {
                "100": 100, "99": 99, "98": 98, "97": 97, "96": 68, "95": 67, "94": 66, "93": 65, "92": 64, "91": 63, "90": 63, "89": 62, "88": 61, "87": 61, "86": 60, "85": 59, "84": 58, "83": 57, "82": 56, "81": 55, "80": 54, "79": 53, "78": 53, "77": 52, "76": 52, "75": 52, "74": 51, "73": 51, "72": 51, "71": 50, "70": 50, "69": 50, "68": 49, "67": 49, "66": 49, "65": 48, "64": 48, "63": 48, "62": 47, "61": 47, "60": 47, "59": 46, "58": 46, "57": 46, "56": 46, "55": 45, "54": 45, "53": 45, "52": 44, "51": 44, "50": 44, "49": 43, "48": 42, "47": 41, "46": 40, "45": 39, "44": 39, "43": 38, "42": 37, "41": 37, "40": 36, "39": 35, "38": 34, "37": 34, "36": 33, "35": 33, "34": 32, "33": 32, "32": 31, "31": 30, "30": 29, "29": 28, "28": 28, "27": 27, "26": 27, "25": 26, "24": 26, "23": 25, "22": 25, "21": 24, "20": 24, "19": 24, "18": 23, "17": 23, "16": 22, "15": 22, "14": 21, "13": 21, "12": 20, "11": 20, "10": 20, "9": 19, "8": 18, "7": 17, "6": 16, "5": 15, "4": 14, "3": 13, "2": 12, "1": 11, "0": 0
            }
        }
        if (mesh > 110 && mesh <= 180) {
            var opacityRelationships = {
                "100": 40, "99": 40, "98": 40, "97": 40, "96": 40, "95": 40, "94": 40, "93": 10, "92": 10, "91": 10, "90": 10, "89": 10, "88": 10, "87": 10, "86": 86, "85": 85, "84": 84, "83": 83, "82": 82, "81": 81, "80": 80, "79": 79, "78": 78, "77": 77, "76": 76, "75": 75, "74": 74, "73": 73, "72": 72, "71": 71, "70": 70, "69": 69, "68": 68, "67": 67, "66": 66, "65": 65, "64": 64, "63": 63, "62": 62, "61": 61, "60": 10, "59": 59, "58": 58, "57": 57, "56": 56, "55": 55, "54": 54, "53": 53, "52": 52, "51": 51, "50": 50, "49": 49, "48": 48, "47": 47, "46": 46, "45": 45, "44": 44, "43": 43, "42": 42, "41": 41, "40": 40, "39": 39, "38": 38, "37": 37, "36": 36, "35": 35, "34": 34, "33": 33, "32": 32, "31": 31, "30": 30, "29": 29, "28": 28, "27": 27, "26": 26, "25": 25, "24": 24, "23": 23, "22": 22, "21": 21, "20": 20, "19": 19, "18": 18, "17": 17, "16": 16, "15": 15, "14": 14, "13": 13, "12": 12, "11": 11, "10": 10, "9": 9, "8": 8, "7": 7, "6": 6, "5": 5, "4": 4, "3": 3, "2": 2, "1": 1, "0": 0
            }
        }
        if (mesh > 180 && mesh <= 255) {
            var opacityRelationships = {
                "100": 55, "99": 55, "98": 55, "97": 55, "96": 55, "95": 55, "94": 55, "93": 55, "92": 10, "91": 10, "90": 10, "89": 10, "88": 10, "87": 10, "86": 86, "85": 85, "84": 84, "83": 83, "82": 82, "81": 81, "80": 80, "79": 79, "78": 78, "77": 77, "76": 76, "75": 75, "74": 74, "73": 73, "72": 72, "71": 71, "70": 70, "69": 69, "68": 68, "67": 67, "66": 66, "65": 65, "64": 64, "63": 63, "62": 62, "61": 61, "60": 10, "59": 59, "58": 58, "57": 57, "56": 56, "55": 55, "54": 54, "53": 53, "52": 52, "51": 51, "50": 50, "49": 49, "48": 48, "47": 47, "46": 46, "45": 45, "44": 44, "43": 43, "42": 42, "41": 41, "40": 40, "39": 39, "38": 38, "37": 37, "36": 36, "35": 35, "34": 34, "33": 33, "32": 32, "31": 31, "30": 30, "29": 29, "28": 28, "27": 27, "26": 26, "25": 25, "24": 24, "23": 23, "22": 22, "21": 21, "20": 20, "19": 19, "18": 18, "17": 17, "16": 16, "15": 15, "14": 14, "13": 13, "12": 12, "11": 11, "10": 10, "9": 9, "8": 8, "7": 7, "6": 6, "5": 5, "4": 4, "3": 3, "2": 2, "1": 1, "0": 0
            }
        }
        if (mesh > 255) {
            var opacityRelationships = {
                "100": 80, "99": 80, "98": 80, "97": 80, "96": 80, "95": 80, "94": 80, "93": 80, "92": 10, "91": 10, "90": 10, "89": 10, "88": 10, "87": 10, "86": 86, "85": 85, "84": 84, "83": 83, "82": 82, "81": 81, "80": 80, "79": 79, "78": 78, "77": 77, "76": 76, "75": 75, "74": 74, "73": 73, "72": 72, "71": 71, "70": 70, "69": 69, "68": 68, "67": 67, "66": 66, "65": 65, "64": 64, "63": 63, "62": 62, "61": 61, "60": 10, "59": 59, "58": 58, "57": 57, "56": 56, "55": 55, "54": 54, "53": 53, "52": 52, "51": 51, "50": 50, "49": 49, "48": 48, "47": 47, "46": 46, "45": 45, "44": 44, "43": 43, "42": 42, "41": 41, "40": 40, "39": 39, "38": 38, "37": 37, "36": 36, "35": 35, "34": 34, "33": 33, "32": 32, "31": 31, "30": 30, "29": 29, "28": 28, "27": 27, "26": 26, "25": 25, "24": 24, "23": 23, "22": 22, "21": 21, "20": 20, "19": 19, "18": 18, "17": 17, "16": 16, "15": 15, "14": 14, "13": 13, "12": 12, "11": 11, "10": 10, "9": 9, "8": 8, "7": 7, "6": 6, "5": 5, "4": 4, "3": 3, "2": 2, "1": 1, "0": 0
            }
        }

      for (var i=0,len = paths.length;i<len;i++) {
        if (paths[i].fillColor == '[GradientColor]') {
	  for (var z = 0; z < paths[i].fillColor.gradient.gradientStops.length; z++) {
            function updateOpacityGradient(item){
                var curOpacity = Math.floor(item.opacity);
        	item.opacity = opacityRelationships[curOpacity];
	    }
		updateOpacityGradient(paths[i].fillColor.gradient.gradientStops[z]);
	  }
	}
	
   }
   
    for (var j=0,len = paths.length;j<len;j++) {
    for (var r=0,len = layers.length;r<len;r++){
	if (paths[j].fillColor == '[SpotColor]') {
	   for (var y=0,yLen = layers[r].pageItems.length;y<yLen;y++) {
	    function updateOpacitySpot(item2){
                var curOpacity = Math.floor(item2.opacity).toString();
        	item2.opacity = opacityRelationships[curOpacity];	
	    }
		updateOpacitySpot(layers[r].pageItems[y]);
	   }
        }
   }
   }
    }test();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51844011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档