claviska/jquery-minicolors

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

Open

#236 建立於 2017年11月23日

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

倉庫指標

Star
 (955 star)
PR 合併指標
 (30 天內沒有已合併 PR)

描述

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!

貢獻者指南