2016-05-15 30 views
3

我想更改nicedit.js的默認顏色選擇器 在瀏覽js文件時,我可以看到下面的代碼正在生成顏色選擇器。數據使用colorList變量設置。任何人都可以請幫助我得到像Photoshop或更多相關的顏色選擇器。將nicedit.js的顏色選擇器更改爲photoshop像

var nicEditorColorButton = nicEditorAdvancedButton.extend({ 
    addPane : function() { 
     var colorList = {0 : '00',1 : '33',2 : '66',3 :'99',4 : 'CC',5 : 'FF'}; 
     var colorItems = new bkElement('DIV').setStyle({width: '270px'}); 

     for(var r in colorList) { 
     for(var b in colorList) { 
      for(var g in colorList) { 
      var colorCode = '#'+colorList[r]+colorList[g]+colorList[b]; 

      var colorSquare = new bkElement('DIV').setStyle({'cursor' : 'pointer', 'height' : '15px', 'float' : 'left'}).appendTo(colorItems); 
      var colorBorder = new bkElement('DIV').setStyle({border: '2px solid '+colorCode}).appendTo(colorSquare); 
      var colorInner = new bkElement('DIV').setStyle({backgroundColor : colorCode, overflow : 'hidden', width : '11px', height : '11px'}).addEvent('click',this.colorSelect.closure(this,colorCode)).addEvent('mouseover',this.on.closure(this,colorBorder)).addEvent('mouseout',this.off.closure(this,colorBorder,colorCode)).appendTo(colorBorder); 

      if(!window.opera) { 
       colorSquare.onmousedown = colorInner.onmousedown = bkLib.cancelEvent; 
      } 

      } 
     } 
     } 
     this.pane.append(colorItems.noSelect()); 
    } 
}); 

回答

0

我的colorList變成一個數組,包括Photoshop的十六進制值,然後使用它是這樣的:

var nicEditorColorButton = nicEditorAdvancedButton.extend({ 
    addPane : function() { 
    var colorList = {0 : '000000',1 : 'FFFFFF'}; /* here goes color list */ 
    var colorItems = new bkElement('DIV').setStyle({width: '270px'}); 

    for(var g in colorList) { 
    var colorCode = '#'+colorList[g]; 
    var colorSquare = new bkElement('DIV').setStyle({'cursor' : 'pointer', 'height' : '15px', 'float' : 'left'}).appendTo(colorItems); 
    var colorBorder = new bkElement('DIV').setStyle({border: '2px solid '+colorCode}).appendTo(colorSquare); 
    var colorInner = new bkElement('DIV').setStyle({backgroundColor : colorCode, overflow : 'hidden', width : '11px', height : '11px'}).addEvent('click',this.colorSelect.closure(this,colorCode)).addEvent('mouseover',this.on.closure(this,colorBorder)).addEvent('mouseout',this.off.closure(this,colorBorder,colorCode)).appendTo(colorBorder); 

    if(!window.opera) { 
     colorSquare.onmousedown = colorInner.onmousedown = bkLib.cancelEvent; 
    } 

    } 
    this.pane.append(colorItems.noSelect()); 
}}); 

不知道如果我的代碼是正確的編輯,但你得到的基本思路。刪除2 for循環並直接在colorList中循環