jsp页面引入调色板、颜色表

2024-05-26 02:18

本文主要是介绍jsp页面引入调色板、颜色表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

jsp页面:
<form>
<input id="fontColor"/>
<div id="colorpanel" style="position:absolute;display:none; width:253px;height:177px;"></div> 
</form>
javascript脚本:
$(document).ready(function() {
   initPanel(); //初始化调色板
   $("#fontColor").bind("click", OnDocumentClick); //fontColor:调用调色板的控件ID
});


js内容:

var ColorHex = new Array('00', '33', '66', '99', 'CC', 'FF');
var SpColorHex = new Array('FF0000', '00FF00', '0000FF', 'FFFF00', '00FFFF','FF00FF');

var current = null 
 
//初始化调色板 
function initPanel() { 
   var colorTable = '' 
   for (i = 0; i < 2; i++) { 
       for (j = 0; j < 6; j++) { 
           colorTable = colorTable + '<tr style="height:12px;">' 
           colorTable = colorTable + '<td style="width=11px;height:12px;background-color:#000000">' 
           if (i == 0) { 
               colorTable = colorTable + '<td style="width=11px;height:12px;background-color:#' + ColorHex[j] + ColorHex[j] + ColorHex[j] + '">' 
           } 
           else { 
               colorTable = colorTable + '<td style="width=11px;height:12px;background-color:#' + SpColorHex[j] + '">' 
           } 
           colorTable = colorTable + '<td style="width=11px;height:12px;background-color:#000000">' 
           for (k = 0; k < 3; k++) { 
               for (l = 0; l < 6; l++) { 
                   colorTable = colorTable + '<td style="width=11px;height:12px;background-color:#' + ColorHex[k + i * 3] + ColorHex[l] + ColorHex[j] + '">' 
               } 
           } 
       } 
   } 
   colorTable = '<table width=253 border="0" cellspacing="0" cellpadding="0" style="border:1px #000000 solid;border-bottom:none;border-collapse: collapse;" bordercolor="000000">' 
          + '<tr height="30px"><td colspan=21 bgcolor=#cccccc>' + '<table cellpadding="0" cellspacing="1" border="0" style="border-collapse: collapse">'
          + '<tr><td width="3"><td><input type="text" id="DisColor" size="6" disabled style="border:solid 1px #000000;background-color:#ffff00"></td>'
          + '<td width="3"><td><input type="text" id="HexColor" size="7" style="border:inset 1px;font-family:Arial;" value="#000000"></td><td align="right" width="100%"><span id="spnClose" style="cursor:hand;">Ⅹ</span>&nbsp;</td></tr></table></td></table>' 
      + '<table  width=253  id="tblColor" border="1" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="000000" style="cursor:hand;">' 
                 + colorTable + '</table>'; 
          $("#colorpanel").html(colorTable); 
          $("#tblColor").bind("mouseover", doOver); 
          $("#tblColor").bind("mouseout", doOut); 
          $("#tblColor").bind("click", doclick); 
          $("#spnClose").bind("click", function(){
          $("#colorpanel").css("display","none"); }
          ); 
  } 
           
  //鼠标覆盖事件 
  function doOver(event) { 
      var e = $.event.fix(event); 
      var element = e.target; 
      if ((element.tagName == "TD") && (current != element)) { 
   
          if (current != null) { current.style.backgroundColor = current.style.background; } 
          element.style.background = element.style.backgroundColor; 
          $("#DisColor").css("backgroundColor", 
          element.style.backgroundColor); 
          var clr = element.style.backgroundColor.toUpperCase(); 
          if (clr.indexOf('RGB') > -1) { 
              clr = clr.substring(clr.length - 18); 
              clr = rgb2hex(clr); 
          } 
          $("#HexColor").val(clr); 
          //element.style.backgroundColor = "white"; 
          current = element; 
      } 
  } 
          //鼠标移开事件 
          function doOut(event) { 
              if (current != null) current.style.backgroundColor = 
          current.style.background.toUpperCase(); 
          } 
          //鼠标点击事件 
          function doclick(event) { 
              var e = $.event.fix(event); 
              if (e.target.tagName == "TD") {    var clr = e.target.style.background; 
              clr = clr.toUpperCase(); 
              if (targetElement) { 
                  if (clr.indexOf('RGB') > -1) { 
                      clr = clr.substring(clr.length - 18); 
                      clr = rgb2hex(clr); 
                  } 
                  targetElement.value = clr;  
              } 
              DisplayClrDlg(false, e); 
              return clr; 
          } 
      } 
       
      var targetElement = null; 
       
      function OnDocumentClick(event) { 
       
          var e = $.event.fix(event); 
          var srcElement = e.target; 
//         if (srcElement.alt == "clrDlg") { 
          targetElement = srcElement; 
          DisplayClrDlg(true, e); 
//       } 
//       else { 
   
//           while (srcElement && srcElement.id != "colorpanel") { 
//               srcElement = srcElement.parentElement; 
//           } 
//           if (!srcElement) { 
//               DisplayClrDlg(false, e); 
//           } 
//       } 
  } 
   
  //显示颜色对话框 
  //display 决定显示还是隐藏 
  //自动确定显示位置 
  function DisplayClrDlg(display, event) { 
  var clrPanel = $("#colorpanel"); 
   if (display) {
       var left = document.body.scrollLeft + event.clientX; 
       var top = document.body.scrollTop + event.clientY; 
       if (event.clientX + clrPanel.width > document.body.clientWidth) { 
           //对话框显示在鼠标右方时会出现遮挡将其显示在鼠标左方 
           left -= clrPanel.width; 
       } 
       if (event.clientY + clrPanel.height > document.body.clientHeight) { 
           //对话框显示在鼠标下方时会出现遮挡将其显示在鼠标上方 
           top -= clrPanel.height; 
       } 
       clrPanel.css("left", left); 
       clrPanel.css("top", top); 
       clrPanel.css("display", "block"); 
   } else { 
       clrPanel.css("display", "none"); 
   } 

  
//RGB转十六进制颜色值 
  function zero_fill_hex(num, digits) { 
      var s = num.toString(16); 
      while (s.length < digits) 
          s = "0" + s; 
      return s; 
  } 
   
  function rgb2hex(rgb) { 
      if (rgb.charAt(0) == '#') 
          return rgb; 
      var n = Number(rgb); 
      var ds = rgb.split(/\D+/); 
      var decimal = Number(ds[1]) * 65536 + Number(ds[2]) * 256 + Number(ds[3]); 
      return "#" + zero_fill_hex(decimal, 6); 
  }

这篇关于jsp页面引入调色板、颜色表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003280

相关文章

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

Weex入门教程之3,使用 Vue 开发 Weex 页面

环境安装 在这里简略地介绍下,详细看官方教程 Node.js 环境 Node.js官网 通常,安装了 Node.js 环境,npm 包管理工具也随之安装了。因此,直接使用 npm 来安装 weex-toolkit。 npm 是一个 JavaScript 包管理工具,它可以让开发者轻松共享和重用代码。Weex 很多依赖来自社区,同样,Weex 也将很多工具发布到社区方便开发者使用。

SW - 引入第三方dwg图纸后,修改坐标原点

文章目录 SW - 引入第三方dwg图纸后,修改坐标原点概述笔记设置图纸新原点END SW - 引入第三方dwg图纸后,修改坐标原点 概述 在solidworks中引入第三方的dwg格式图纸后,坐标原点大概率都不合适。 全图自动缩放后,引入的图纸离默认的原点位置差很多。 需要自己重新设置原点位置,才能自动缩放后,在工作区中间显示引入的图纸。 笔记 将dwg图纸拖到SW中

react笔记 8-17 属性绑定 class绑定 引入图片 循环遍历

1、绑定属性 constructor(){super()this.state={name:"张三",title:'我是一个title'}}render() {return (<div><div>aaaaaaa{this.state.name}<div title={this.state.title}>我是一个title</div></div></div>)} 绑定属性直接使用花括号{}   注

ViewPager+fragment实现切换页面(一)

如今的很多应用中都是下面有一排按钮,点击可以切换页面,滑动也可以切换页面。下面就来简单的实现这个功能。 思路 首先肯定是会用到viewpager这个控件,为了能够向下兼容,最好用v4包下的viewpager,Activity要继承FragmentActivity 其次用一个集合来存储所有的fragment页面在设置viewpager的适配器时,把存储fragment页面的list集合传入ada

渐变颜色填充

GradientFill函数可以对特定的矩形区域或者三角形区域进行渐变颜色的填充。我们先来看看GradientFill函数到底长得什么样子,帅不帅。 [cpp]  view plain copy print ? BOOL GradientFill(     _In_  HDC hdc,     _In_  PTRIVERTEX pVertex,     _In_  ULONG

YOLOv8改进实战 | 注意力篇 | 引入CVPR2024 PKINet 上下文锚点注意力CAAttention

YOLOv8专栏导航:点击此处跳转 前言 YOLOv8 是由 YOLOv5 的发布者 Ultralytics 发布的最新版本的 YOLO。它可用于对象检测、分割、分类任务以及大型数据集的学习,并且可以在包括 CPU 和 GPU 在内的各种硬件上执行。 YOLOv8 是一种尖端的、最先进的 (SOTA) 模型,它建立在以前成功的 YOLO 版本的基础上,并引入了新的功能和改进,以

【鸿蒙HarmonyOS NEXT】页面之间相互传递参数

【鸿蒙HarmonyOS NEXT】页面之间相互传递参数 一、环境说明二、页面之间相互传参 一、环境说明 DevEco Studio 版本: API版本:以12为主 二、页面之间相互传参 说明: 页面间的导航可以通过页面路由router模块来实现。页面路由模块根据页面url找到目标页面,从而实现跳转。通过页面路由模块,可以使用不同的url访问不同的页面,包括跳转到U