zoukankan      html  css  js  c++  java
  • js 颜色选择器

    /*
    ┌─ 深度学习(js)颜色选择器  ────────────────────┐
    │  colorPicker
    │  感谢你使用 深度学习(js)颜色选择器
    │  本代码完全公开和免费,你可以任意复制、传播、修改和使用,
    │  但不得公开发表代码 不得用做商业用途,不得向其他使用者收费。
    │  使用时,请保留此段信息,谢谢配合
    │                        作者:吕海鹏      2008-5-29
    └──────────────────  www.DeepTeach.com  ───┘
    【安装使用】
    1、先将js文件拷贝到您网站的目录,不需要做任何修改 范例如:根目录下位置:/js/Deepteach_colorPicker.js
    2、在需要调用html标签 id="colorPicker",范例如:<input  type="text"  id="colorPicker" />
    3、在调用html标签的后边调用Deepteach_colorPicker.js,范例如:<script type="text/javascript" src="js/Deepteach_colorPicker.js"></script>
    */
    //div层
    document.write ("<div  id='colorPopup'  style=' position:absolute; z-index:100;  display:none; '></div>  ");
    var oColorPopup=document.getElementById("colorPopup");
    var oColorPicker=document.getElementById("colorPicker");
    //在div层内显示颜色选择器函数(main)
    function  showColorPicker()
    {
        //判断选择器是否显示
        if(oColorPopup.style.display=="none")   {
            //获取鼠标的坐标值 for  IE、Firefox
            window.document.onclick=function(evt){
                //evt=evt || window.event;
                evt = evt ? evt : (window.event ? window.event : null);
                oColorPopup.style.left=evt.clientX+"px";
                oColorPopup.style.top=evt.clientY+"px";
                window.document.onclick=null;
            }
           oColorPopup.style.display="block";
        }
        else {
           oColorPopup.style.display="none";
        }
         initColor();
    }
    // 初始化颜色选择器函数
    function initColor(){
        var baseColorHex=new Array('00','33','66','99','CC','FF');     //256色的颜色是用00,33,66,99,cc,ff组成
        var SpColorHex=new Array('000000','333333','666666','999999','cccccc','FFFFFF', 'FF0000','00FF00','0000FF','FFFF00','00FFFF','FF00FF' );
        var colorRGB ="";
        var sColorPopup;
        sColorPopup="<table  width='260'  border='1'  cellPadding=1  cellSpacing=0   bordercolordark='#ffffff'  bordercolorlight='#000000'  bgcolor='#cccccc'  title='深度学习(js)颜色选择器' ><tr><td>";
        sColorPopup+="<input   id='colorDis'  style='50px;border:solid 1px #000000;background-color:#ffff00;margin-left:3px' disabled title='当前颜色' />";
        sColorPopup+=" <input id='colorHexDis'  style='70px;border:inset 1px;font-family:Arial;' type='text' value='#FFFF00' readonly title='当前颜色16进制值'/>";
        sColorPopup+="<input  type='button' style='border:outset 1px;font-family:Arial;font-size:12px;line-height:12px;15px;height:15px;margin-left:105px;margin-bottom:3px;cursor:pointer;' value='X' onclick='doClose()' title='关闭颜色选择器' />";
        sColorPopup+="</td></tr><tr><td>";
        sColorPopup+="<table  border='0' cellpadding='0' cellspacing='0' align='center' ><tr><td bgcolor='#000000' width='30'>";//1行2列
        //竖 start
        sColorPopup+="<table  border='0' cellpadding='0'  cellspacing='1' bgcolor='#000000' align='center' >";        //第1列
        for(i=0;i<12;i++)
        {
            sColorPopup+="<tr  height='12'>";
            colorRGB=SpColorHex[i];
            sColorPopup+="<td width='12' onmouseover='currentColor(this.bgColor)' onclick='clickColor(this.bgColor)'  bgColor='"+colorRGB+"' style='cursor:pointer;' title='点击选择颜色"+colorRGB+"'></td>";
            sColorPopup+="</tr>";
        }
        sColorPopup+="</table>";
        //竖 end
        sColorPopup+="</td><td>";
        sColorPopup+="<table  border='0'    cellpadding='0'    cellspacing='1'    bgcolor=#000000 align='center' >";    //第2列
        for(n=0;n<2;n++){    //循环2块
            for(i=0;i<6;i++) {  //每块6行
                sColorPopup+="<tr    height=12>";
                for(j=0+3*n;j<3+3*n;j++)
                {
                    for(k=0;k<6;k++)
                    {
                        colorRGB=baseColorHex[j]+baseColorHex[k]+baseColorHex[i];
                        sColorPopup+="<td  width='12' onmouseover='currentColor(this.bgColor)' onclick='clickColor(this.bgColor)'  bgColor='"+colorRGB+"' style='cursor:pointer;'  title='点击选择颜色"+colorRGB+"'></td>";
                    }
                }
                sColorPopup+="</tr>";
            }
        }
        sColorPopup+="</table>";
        sColorPopup+="</td></tr></table>";
        sColorPopup+="</td></tr></table>";
        oColorPopup.innerHTML=sColorPopup;
    }
    //当前颜色块函数
    function   currentColor(colorStr)  {
        document.getElementById("colorDis").style.backgroundColor=colorStr;
        document.getElementById("colorHexDis").value=colorStr.toUpperCase();    //toUpperCase()方法将颜色值大写
    }
    //点击选择颜色函数
    function clickColor(colorStr) {
        oColorPicker.style.backgroundColor=colorStr;
        oColorPicker.value=colorStr;
        oColorPopup.style.display="none";
    }
    //关闭颜色选择器函数
    function doClose() {
          oColorPopup.style.display="none";
    }
    //oColorPicker对象 绑定事件处理函数
    oColorPicker.onclick=showColorPicker;

    2.颜色拾取器是免费的,只有6kb。他的核心是jQuery.他的使用方法是转换class为"iColorPicker?"的input field将其转换为颜色拾取器。

    地址:

    http://www.supersite.me/website-building/jquery-free-color-picker/

    使用方法非常简单:
    只要你导入了jQuery和iColorPicker?脚本。那么每一个class属性为"iColorPicker?"的输入框将变成漂亮的颜色选择器。

    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="iColorPickerLink.js"></script>
    <input type="text" value="#ffcc00" class="iColorPicker" name="mycolor" id="mycolor" />
    重要: 每个输入框必须是唯一的ID。

    原理:
    在加载js库文件的时候,将自动搜索页面,如果存在 class="iColorPicker?"的输入框,则在body的底部添加两个隐藏的DIV。
    分别是 iColorPicker?和iColorPickerBg?.在点击图片的onclick事件中触发iColorShow?方法。它会将iColorPicker?显示出来,而将
    iColorPickerBg?遮盖住其他地区。

  • 相关阅读:
    在centos7上使用packstack安装openstack
    解决 React-Native: Android project not found. Maybe run react-native android first?
    javascript_11-函数面试题
    javascript_10-函数
    前端面试记录NO.1
    javascript_09-数组
    javascript_08-while 和 do while
    javascript_07-break 和 continue
    javascript_05-操作符
    javascript_06-控制流程
  • 原文地址:https://www.cnblogs.com/mingforyou/p/2751371.html
Copyright © 2011-2022 走看看