利用javascript在asp.net中实现颜色的选择

本文介绍如何在ASP.NET中利用JavaScript实现颜色选择器功能,包括下载必要的文件、配置脚本及HTML元素,并展示了完整的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在asp.net开发中如果想实现,颜色选择器的功能可以使用javascript进行实现。操作步骤:

一、http://www.mattkruse.com/javascript/colorpicker/source.html 下载colorpicker2.js;

二、<head></head>中加入

    <script language="javascript" type="text/javascript" src="colorpicker2.js" ></script>
    <SCRIPT LANGUAGE="JavaScript">
var cp = new ColorPicker('window'); // Popup window
var cp2 = new ColorPicker(); // DIV style
</SCRIPT>

三、<form></form>中加入下面代码

 

< div > 使用DHTML层 </ div >
    
< br  />
    Color:
    
< input  type ="text"  name ="color2"  size ="20"  value =""   />
    
< href ="#"  onclick ="cp2.select(document.forms[0].color2,'pick2');return false;"
        name
="pick2"  id ="pick2" > Pick </ a >
    
< br  />
    
< div >
        Windows
</ div >
    
< br  />
    Color:
    
< input  type ="text"  name ="color"  size ="20"  value =""   />
    
< href ="#"  onclick ="cp.select(document.forms[0].color,'pick');return false;"  name ="pick"
        id
="pick" > Pick </ a >

 

四、</form>后面加入

    <SCRIPT LANGUAGE="JavaScript">cp.writeDiv()</SCRIPT>

 

哈哈,搞定了啊!

还有一个功能更强大的http://www.softcomplex.com/products/tigra_color_picker/

 

附:ColorPick的完整源代码

 

<% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " ColorPickers.aspx.cs "  Inherits = " ColorPickers "   %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head  runat ="server" >
    
< title > Untitled Page </ title >

    
< script  language ="javascript"  type ="text/javascript"  src ="ColorPicker2.js" ></ script >

    
< script  language ="javascript"  type ="text/javascript" >
        
var  cp  =   new  ColorPicker( ' window ' );  //  Popup window
         var  cp2  =   new  ColorPicker();  //  DIV style
     </ script >

</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div > 使用DHTML层 </ div >
    
< br  />
    Color:
    
< input  type ="text"  name ="color2"  size ="20"  value =""   />
    
< href ="#"  onclick ="cp2.select(document.forms[0].color2,'pick2');return false;"
        name
="pick2"  id ="pick2" > Pick </ a >
    
< br  />
    
< div >
        Windows
</ div >
    
< br  />
    Color:
    
< input  type ="text"  name ="color"  size ="20"  value =""   />
    
< href ="#"  onclick ="cp.select(document.forms[0].color,'pick');return false;"  name ="pick"
        id
="pick" > Pick </ a >
    
</ form >

    
< script  language ="javascript"  type ="text/javascript" > cp.writeDiv() </ script >

</ body >
</ html >

 

JS代码

 

//  ===================================================================
//
 Author: Matt Kruse <matt@mattkruse.com>
//
 WWW: http://www.mattkruse.com/
//
//
 NOTICE: You may use this code for any purpose, commercial or
//
 private, without any further permission from the author. You may
//
 remove this notice from your final code if you wish, however it is
//
 appreciated by the author if at least my web site address is kept.
//
//
 You may *NOT* re-distribute this code in any way except through its
//
 use. That means, you can include it in your product, or your web
//
 site, or any other form where the code is actually being used. You
//
 may not put the plain javascript up on your site for download or
//
 include it in your javascript libraries for download. 
//
 If you wish to share this code with others, please just point them
//
 to the URL instead.
//
 Please DO NOT link directly to my .js files from your site. Copy
//
 the files to your server and use them there. Thank you.
//
 ===================================================================

/*  SOURCE FILE: AnchorPosition.js  */
function  getAnchorPosition(anchorname){ var  useWindow = false ; var  coordinates = new  Object(); var  x = 0 ,y = 0 ; var  use_gebi = false , use_css = false , use_layers = false ; if (document.getElementById){use_gebi = true ;} else   if (document.all){use_css = true ;} else   if (document.layers){use_layers = true ;} if (use_gebi  &&  document.all){x = AnchorPosition_getPageOffsetLeft(document.all[anchorname]);y = AnchorPosition_getPageOffsetTop(document.all[anchorname]);} else   if (use_gebi){ var  o = document.getElementById(anchorname);x = AnchorPosition_getPageOffsetLeft(o);y = AnchorPosition_getPageOffsetTop(o);} else   if (use_css){x = AnchorPosition_getPageOffsetLeft(document.all[anchorname]);y = AnchorPosition_getPageOffsetTop(document.all[anchorname]);} else   if (use_layers){ var  found = 0 ; for ( var  i = 0 ;i < document.anchors.length;i ++ ){ if (document.anchors[i].name == anchorname){found = 1 ; break ;}} if (found == 0 ){coordinates.x = 0 ;coordinates.y = 0 ; return  coordinates;}x = document.anchors[i].x;y = document.anchors[i].y;} else {coordinates.x = 0 ;coordinates.y = 0 ; return  coordinates;}coordinates.x = x;coordinates.y = y; return  coordinates;}
function  getAnchorWindowPosition(anchorname){ var  coordinates = getAnchorPosition(anchorname); var  x = 0 ; var  y = 0 ; if (document.getElementById){ if (isNaN(window.screenX)){x = coordinates.x - document.body.scrollLeft + window.screenLeft;y = coordinates.y - document.body.scrollTop + window.screenTop;} else {x = coordinates.x + window.screenX + (window.outerWidth - window.innerWidth) - window.pageXOffset;y = coordinates.y + window.screenY + (window.outerHeight - 24 - window.innerHeight) - window.pageYOffset;}} else   if (document.all){x = coordinates.x - document.body.scrollLeft + window.screenLeft;y = coordinates.y - document.body.scrollTop + window.screenTop;} else   if (document.layers){x = coordinates.x + window.screenX + (window.outerWidth - window.innerWidth) - window.pageXOffset;y = coordinates.y + window.screenY + (window.outerHeight - 24 - window.innerHeight) - window.pageYOffset;}coordinates.x = x;coordinates.y = y; return  coordinates;}
function  AnchorPosition_getPageOffsetLeft(el){ var  ol = el.offsetLeft; while ((el = el.offsetParent)  !=   null ){ol  +=  el.offsetLeft;} return  ol;}
function  AnchorPosition_getWindowOffsetLeft(el){ return  AnchorPosition_getPageOffsetLeft(el) - document.body.scrollLeft;}
function  AnchorPosition_getPageOffsetTop(el){ var  ot = el.offsetTop; while ((el = el.offsetParent)  !=   null ){ot  +=  el.offsetTop;} return  ot;}
function  AnchorPosition_getWindowOffsetTop(el){ return  AnchorPosition_getPageOffsetTop(el) - document.body.scrollTop;}

/*  SOURCE FILE: PopupWindow.js  */
function  PopupWindow_getXYPosition(anchorname){ var  coordinates; if ( this .type  ==   " WINDOW " ){coordinates  =  getAnchorWindowPosition(anchorname);} else {coordinates  =  getAnchorPosition(anchorname);} this .x  =  coordinates.x; this .y  =  coordinates.y;}
function  PopupWindow_setSize(width,height){ this .width  =  width; this .height  =  height;}
function  PopupWindow_populate(contents){ this .contents  =  contents; this .populated  =   false ;}
function  PopupWindow_setUrl(url){ this .url  =  url;}
function  PopupWindow_setWindowProperties(props){ this .windowProperties  =  props;}
function  PopupWindow_refresh(){ if ( this .divName  !=   null ){ if ( this .use_gebi){document.getElementById( this .divName).innerHTML  =   this .contents;} else   if ( this .use_css){document.all[ this .divName].innerHTML  =   this .contents;} else   if ( this .use_layers){ var  d  =  document.layers[ this .divName];d.document.open();d.document.writeln( this .contents);d.document.close();}} else { if ( this .popupWindow  !=   null   &&   ! this .popupWindow.closed){ if ( this .url != "" ){ this .popupWindow.location.href = this .url;} else { this .popupWindow.document.open(); this .popupWindow.document.writeln( this .contents); this .popupWindow.document.close();} this .popupWindow.focus();}}}
function  PopupWindow_showPopup(anchorname){ this .getXYPosition(anchorname); this .x  +=   this .offsetX; this .y  +=   this .offsetY; if ( ! this .populated  && ( this .contents  !=   "" )){ this .populated  =   true ; this .refresh();} if ( this .divName  !=   null ){ if ( this .use_gebi){document.getElementById( this .divName).style.left  =   this .x  +   " px " ;document.getElementById( this .divName).style.top  =   this .y;document.getElementById( this .divName).style.visibility  =   " visible " ;} else   if ( this .use_css){document.all[ this .divName].style.left  =   this .x;document.all[ this .divName].style.top  =   this .y;document.all[ this .divName].style.visibility  =   " visible " ;} else   if ( this .use_layers){document.layers[ this .divName].left  =   this .x;document.layers[ this .divName].top  =   this .y;document.layers[ this .divName].visibility  =   " visible " ;}} else { if ( this .popupWindow  ==   null   ||   this .popupWindow.closed){ if ( this .x < 0 ){ this .x = 0 ;} if ( this .y < 0 ){ this .y = 0 ;} if (screen  &&  screen.availHeight){ if (( this .y  +   this .height)  >  screen.availHeight){ this .y  =  screen.availHeight  -   this .height;}} if (screen  &&  screen.availWidth){ if (( this .x  +   this .width)  >  screen.availWidth){ this .x  =  screen.availWidth  -   this .width;}} var  avoidAboutBlank  =  window.opera  || ( document.layers  &&   ! navigator.mimeTypes[ ' * ' ])  ||  navigator.vendor  ==   ' KDE '   || ( document.childNodes  &&   ! document.all  &&   ! navigator.taintEnabled); this .popupWindow  =  window.open(avoidAboutBlank ? "" : " about:blank " , " window_ " + anchorname, this .windowProperties + " ,width= " + this .width + " ,height= " + this .height + " ,screenX= " + this .x + " ,left= " + this .x + " ,screenY= " + this .y + " ,top= " + this .y + "" );} this .refresh();}}
function  PopupWindow_hidePopup(){ if ( this .divName  !=   null ){ if ( this .use_gebi){document.getElementById( this .divName).style.visibility  =   " hidden " ;} else   if ( this .use_css){document.all[ this .divName].style.visibility  =   " hidden " ;} else   if ( this .use_layers){document.layers[ this .divName].visibility  =   " hidden " ;}} else { if ( this .popupWindow  &&   ! this .popupWindow.closed){ this .popupWindow.close(); this .popupWindow  =   null ;}}}
function  PopupWindow_isClicked(e){ if ( this .divName  !=   null ){ if ( this .use_layers){ var  clickX  =  e.pageX; var  clickY  =  e.pageY; var  t  =  document.layers[ this .divName]; if ((clickX  >  t.left)  && (clickX  <  t.left + t.clip.width)  && (clickY  >  t.top)  && (clickY  <  t.top + t.clip.height)){ return   true ;} else { return   false ;}} else   if (document.all){ var  t  =  window.event.srcElement; while (t.parentElement  !=   null ){ if (t.id == this .divName){ return   true ;}t  =  t.parentElement;} return   false ;} else   if ( this .use_gebi  &&  e){ var  t  =  e.originalTarget; while (t.parentNode  !=   null ){ if (t.id == this .divName){ return   true ;}t  =  t.parentNode;} return   false ;} return   false ;} return   false ;}
function  PopupWindow_hideIfNotClicked(e){ if ( this .autoHideEnabled  &&   ! this .isClicked(e)){ this .hidePopup();}}
function  PopupWindow_autoHide(){ this .autoHideEnabled  =   true ;}
function  PopupWindow_hidePopupWindows(e){ for ( var  i = 0 ;i < popupWindowObjects.length;i ++ ){ if (popupWindowObjects[i]  !=   null ){ var  p  =  popupWindowObjects[i];p.hideIfNotClicked(e);}}}
function  PopupWindow_attachListener(){ if (document.layers){document.captureEvents(Event.MOUSEUP);}window.popupWindowOldEventListener  =  document.onmouseup; if (window.popupWindowOldEventListener  !=   null ){document.onmouseup  =   new  Function( " window.popupWindowOldEventListener();PopupWindow_hidePopupWindows(); " );} else {document.onmouseup  =  PopupWindow_hidePopupWindows;}}
function  PopupWindow(){ if ( ! window.popupWindowIndex){window.popupWindowIndex  =   0 ;} if ( ! window.popupWindowObjects){window.popupWindowObjects  =   new  Array();} if ( ! window.listenerAttached){window.listenerAttached  =   true ;PopupWindow_attachListener();} this .index  =  popupWindowIndex ++ ;popupWindowObjects[ this .index]  =   this ; this .divName  =   null ; this .popupWindow  =   null ; this .width = 0 ; this .height = 0 ; this .populated  =   false ; this .visible  =   false ; this .autoHideEnabled  =   false ; this .contents  =   "" ; this .url = "" ; this .windowProperties = " toolbar=no,location=no,status=no,menubar=no,scrollbars=auto,resizable,alwaysRaised,dependent,titlebar=no " ; if (arguments.length > 0 ){ this .type = " DIV " ; this .divName  =  arguments[ 0 ];} else { this .type = " WINDOW " ;} this .use_gebi  =   false ; this .use_css  =   false ; this .use_layers  =   false ; if (document.getElementById){ this .use_gebi  =   true ;} else   if (document.all){ this .use_css  =   true ;} else   if (document.layers){ this .use_layers  =   true ;} else { this .type  =   " WINDOW " ;} this .offsetX  =   0 ; this .offsetY  =   0 ; this .getXYPosition  =  PopupWindow_getXYPosition; this .populate  =  PopupWindow_populate; this .setUrl  =  PopupWindow_setUrl; this .setWindowProperties  =  PopupWindow_setWindowProperties; this .refresh  =  PopupWindow_refresh; this .showPopup  =  PopupWindow_showPopup; this .hidePopup  =  PopupWindow_hidePopup; this .setSize  =  PopupWindow_setSize; this .isClicked  =  PopupWindow_isClicked; this .autoHide  =  PopupWindow_autoHide; this .hideIfNotClicked  =  PopupWindow_hideIfNotClicked;}


/*  SOURCE FILE: ColorPicker2.js  */

ColorPicker_targetInput 
=   null ;
function  ColorPicker_writeDiv(){document.writeln( " <DIV ID="colorPickerDiv" STYLE="position:absolute;visibility:hidden;"> </DIV> " );}
function  ColorPicker_show(anchorname){ this .showPopup(anchorname);}
function  ColorPicker_pickColor(color,obj){obj.hidePopup();pickColor(color);}
function  pickColor(color){ if (ColorPicker_targetInput == null ){alert( " Target Input is null, which means you either didn't use the 'select' function or you have no defined your own 'pickColor' function to handle the picked color! " ); return ;}ColorPicker_targetInput.value  =  color;}
function  ColorPicker_select(inputobj,linkname){ if (inputobj.type != " text "   &&  inputobj.type != " hidden "   &&  inputobj.type != " textarea " ){alert( " colorpicker.select: Input object passed is not a valid form input object " );window.ColorPicker_targetInput = null ; return ;}window.ColorPicker_targetInput  =  inputobj; this .show(linkname);}
function  ColorPicker_highlightColor(c){ var  thedoc  = (arguments.length > 1 ) ? arguments[ 1 ]:window.document; var  d  =  thedoc.getElementById( " colorPickerSelectedColor " );d.style.backgroundColor  =  c;d  =  thedoc.getElementById( " colorPickerSelectedColorValue " );d.innerHTML  =  c;}
function  ColorPicker(){ var  windowMode  =   false ; if (arguments.length == 0 ){ var  divname  =   " colorPickerDiv " ;} else   if (arguments[ 0 ==   " window " ){ var  divname  =   '' ;windowMode  =   true ;} else { var  divname  =  arguments[ 0 ];} if (divname  !=   "" ){ var  cp  =   new  PopupWindow(divname);} else { var  cp  =   new  PopupWindow();cp.setSize( 225 , 250 );}cp.currentValue  =   " #FFFFFF " ;cp.writeDiv  =  ColorPicker_writeDiv;cp.highlightColor  =  ColorPicker_highlightColor;cp.show  =  ColorPicker_show;cp.select  =  ColorPicker_select; var  colors  =   new  Array( " #000000 " , " #000033 " , " #000066 " , " #000099 " , " #0000CC " , " #0000FF " , " #330000 " , " #330033 " , " #330066 " , " #330099 " , " #3300CC " ,
" #3300FF " , " #660000 " , " #660033 " , " #660066 " , " #660099 " , " #6600CC " , " #6600FF " , " #990000 " , " #990033 " , " #990066 " , " #990099 " ,
" #9900CC " , " #9900FF " , " #CC0000 " , " #CC0033 " , " #CC0066 " , " #CC0099 " , " #CC00CC " , " #CC00FF " , " #FF0000 " , " #FF0033 " , " #FF0066 " ,
" #FF0099 " , " #FF00CC " , " #FF00FF " , " #003300 " , " #003333 " , " #003366 " , " #003399 " , " #0033CC " , " #0033FF " , " #333300 " , " #333333 " ,
" #333366 " , " #333399 " , " #3333CC " , " #3333FF " , " #663300 " , " #663333 " , " #663366 " , " #663399 " , " #6633CC " , " #6633FF " , " #993300 " ,
" #993333 " , " #993366 " , " #993399 " , " #9933CC " , " #9933FF " , " #CC3300 " , " #CC3333 " , " #CC3366 " , " #CC3399 " , " #CC33CC " , " #CC33FF " ,
" #FF3300 " , " #FF3333 " , " #FF3366 " , " #FF3399 " , " #FF33CC " , " #FF33FF " , " #006600 " , " #006633 " , " #006666 " , " #006699 " , " #0066CC " ,
" #0066FF " , " #336600 " , " #336633 " , " #336666 " , " #336699 " , " #3366CC " , " #3366FF " , " #666600 " , " #666633 " , " #666666 " , " #666699 " ,
" #6666CC " , " #6666FF " , " #996600 " , " #996633 " , " #996666 " , " #996699 " , " #9966CC " , " #9966FF " , " #CC6600 " , " #CC6633 " , " #CC6666 " ,
" #CC6699 " , " #CC66CC " , " #CC66FF " , " #FF6600 " , " #FF6633 " , " #FF6666 " , " #FF6699 " , " #FF66CC " , " #FF66FF " , " #009900 " , " #009933 " ,
" #009966 " , " #009999 " , " #0099CC " , " #0099FF " , " #339900 " , " #339933 " , " #339966 " , " #339999 " , " #3399CC " , " #3399FF " , " #669900 " ,
" #669933 " , " #669966 " , " #669999 " , " #6699CC " , " #6699FF " , " #999900 " , " #999933 " , " #999966 " , " #999999 " , " #9999CC " , " #9999FF " ,
" #CC9900 " , " #CC9933 " , " #CC9966 " , " #CC9999 " , " #CC99CC " , " #CC99FF " , " #FF9900 " , " #FF9933 " , " #FF9966 " , " #FF9999 " , " #FF99CC " ,
" #FF99FF " , " #00CC00 " , " #00CC33 " , " #00CC66 " , " #00CC99 " , " #00CCCC " , " #00CCFF " , " #33CC00 " , " #33CC33 " , " #33CC66 " , " #33CC99 " ,
" #33CCCC " , " #33CCFF " , " #66CC00 " , " #66CC33 " , " #66CC66 " , " #66CC99 " , " #66CCCC " , " #66CCFF " , " #99CC00 " , " #99CC33 " , " #99CC66 " ,
" #99CC99 " , " #99CCCC " , " #99CCFF " , " #CCCC00 " , " #CCCC33 " , " #CCCC66 " , " #CCCC99 " , " #CCCCCC " , " #CCCCFF " , " #FFCC00 " , " #FFCC33 " ,
" #FFCC66 " , " #FFCC99 " , " #FFCCCC " , " #FFCCFF " , " #00FF00 " , " #00FF33 " , " #00FF66 " , " #00FF99 " , " #00FFCC " , " #00FFFF " , " #33FF00 " ,
" #33FF33 " , " #33FF66 " , " #33FF99 " , " #33FFCC " , " #33FFFF " , " #66FF00 " , " #66FF33 " , " #66FF66 " , " #66FF99 " , " #66FFCC " , " #66FFFF " ,
" #99FF00 " , " #99FF33 " , " #99FF66 " , " #99FF99 " , " #99FFCC " , " #99FFFF " , " #CCFF00 " , " #CCFF33 " , " #CCFF66 " , " #CCFF99 " , " #CCFFCC " ,
" #CCFFFF " , " #FFFF00 " , " #FFFF33 " , " #FFFF66 " , " #FFFF99 " , " #FFFFCC " , " #FFFFFF " ); var  total  =  colors.length; var  width  =   18 ; var  cp_contents  =   "" ; var  windowRef  = (windowMode) ? " window.opener. " : "" ; if (windowMode){cp_contents  +=   " <HTML><HEAD><TITLE>Select Color</TITLE></HEAD> " ;cp_contents  +=   " <BODY MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0><CENTER> " ;}cp_contents  +=   " <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=0> " ; var  use_highlight  = (document.getElementById  ||  document.all) ? true : false ; for ( var  i = 0 ;i < total;i ++ ){ if ((i  %  width)  ==   0 ){cp_contents  +=   " <TR> " ;} if (use_highlight){ var  mo  =   ' onMouseOver=" ' + windowRef + ' ColorPicker_highlightColor(' ' + colors[i] + ' ',window.document)" ' ;} else {mo  =   "" ;}cp_contents  +=   ' <TD BGCOLOR=" ' + colors[i] + ' "><FONT SIZE="-3"><A HREF="#" onClick=" ' + windowRef + ' ColorPicker_pickColor(' ' + colors[i] + ' ', ' + windowRef + ' window.popupWindowObjects[ ' + cp.index + ' ]);return false;"  ' + mo + '  STYLE="text-decoration:none;">&nbsp;&nbsp;&nbsp;</A></FONT></TD> ' ; if ( ((i + 1 ) >= total)  || (((i + 1 %  width)  ==   0 )){cp_contents  +=   " </TR> " ;}} if (document.getElementById){ var  width1  =  Math.floor(width / 2 ); var  width2  =  width  =  width1;cp_contents  +=   " <TR><TD COLSPAN=' " + width1 + " ' BGCOLOR='#ffffff' ID='colorPickerSelectedColor'>&nbsp;</TD><TD COLSPAN=' " + width2 + " ' ALIGN='CENTER' ID='colorPickerSelectedColorValue'>#FFFFFF</TD></TR> " ;}cp_contents  +=   " </TABLE> " ; if (windowMode){cp_contents  +=   " </CENTER></BODY></HTML> " ;}cp.populate(cp_contents + " " );cp.offsetY  =   25 ;cp.autoHide(); return  cp;}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值