claviska/jquery-minicolors

Top position is off when using 'position: top' with swatches

Open

#236 建立於 2017年11月23日

在 GitHub 查看
 (0 留言) (0 反應) (0 負責人)JavaScript (955 star) (322 fork)batch import
BugHelp Wanted

描述

When you use minicolors with swatches, combined with position: 'top left' or position:'top right', the colorpicker panel is positioned incorrectly, it overlays the input box. minicolors1 minicolors2

I've made the following fix in jquery.minicolor.js, starting at line 212:

    // Swatches
    if(settings.swatches && settings.swatches.length !== 0) {
      if (/top/.test(settings.position)) {
         var nrRows = Math.ceil(settings.swatches.length / 7);
         panel.css('top', (nrRows == 1 ? -182 : -204)+'px');
      }
      panel.addClass('minicolors-with-swatches');
      ....

Variable nrRows contains the number of rows of swatches (either 1 or 2), and the top position is changed accordingly. This fixes it for me. Hopefully you can apply this (or a similar) fix. Thanks, keep up the good work!

貢獻者指南