Colorpicker 2 mal?

06.01.2016 03:23
avatar  Ryu
#1 Colorpicker 2 mal?
Ry
Ryu
Mitglied

Hallo liebe Community, ich bin es wieder.

Ich habe eine Frage, ich nutze den ColoPicker für das Forum:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 
<!-- http://www.interclasse.com/scripts/colorpicker.php -->
<!-- edited for compatibility with the xobor forum software -->
<div class="xob_icon_cont">
<div id="cpbase" style="margin-left:40px"></div>
<script language="Javascript" type="text/javascript">
addColorPicker();
var ns6=document.getElementById&&!document.all;
var ie=document.all;
// http://www.interclasse.com/scripts/colorpicker.php
var artabus='';
function addColorPicker() {
var total=1657;
var X=Y=j=R=G=B=0;
var aR=new Array(total);
var aG=new Array(total);
var aB=new Array(total);
for (var i=0; i<256; i++) {
aR[i+510]=aR[i+765]=aG[i+1020]=aG[i+5*255]=aB[i]=aB[i+255]=0;
aR[510-i]=aR[i+1020]=aG[i]=aG[1020-i]=aB[i+510]=aB[1530-i]=i;
aR[i]=aR[1530-i]=aG[i+255]=aG[i+510]=aB[i+765]=aB[i+1020]=255;
if (i<255) {aR[i/2+1530]=127;aG[i/2+1530]=127;aB[i/2+1530]=127;}
}
var hexbase=new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
var i=0;
var jl=new Array();
for (x=0;x<16;x++) for (y=0;y<16;y++) jl[i++]=hexbase[x]+hexbase[y];

var colortable = '<'+'table border="0" cellspacing="0" cellpadding="0" onmouseover="showColor(event);" onclick="pickColor();">';

var H=W=63;
for (Y=0; Y<=H; Y++){
s='<'+'tr height="2">';
j=Math.round(Y*(510/(H+1))-255);
for (X=0; X<=W; X++){
i=Math.round(X*(total/W));
R=aR[i]-j;if(R<0)R=0;if(R>255||isNaN(R))R=255;
G=aG[i]-j;if(G<0)G=0;if(G>255||isNaN(G))G=255;
B=aB[i]-j;if(B<0)B=0;if(B>255||isNaN(B))B=255;
s=s+'<'+'td width="2" bgcolor=#'+jl[R]+jl[G]+jl[B]+'><'+'/td>';
}
colortable += s+'<'+'/tr>';
}
colortable += '<'+'/table>';
document.getElementById('cpbase').innerHTML = colortable;


}
function pickColor() {
var jla=document.getElementById('chosenColor');
jla.innerHTML=artabus;
jla.style.backgroundColor=artabus;
insert('[color='+artabus+']','[/color]');

}
function showColor(e){
source=ie?event.srcElement:e.target;
if(source.tagName=="TABLE")return;
while(source.tagName!="TD" && source.tagName!="HTML")source=ns6?source.parentNode:source.parentElement;
document.getElementById('previewColor').style.backgroundColor=artabus=source.bgColor;
}
function lastColor(choose) {
if (choose.innerHTML != "") {
insert('[color='+choose.innerHTML+']','[/color]');

}
}
</script>

<div id="previewColor" style="float:none; width:40px;height:128px;"></div>

<div id="chosenColor" style="float:none;height:24px;" onclick="lastColor(this);"></div>


</div>
 



Nun wollte ich den Code nicht nur für die Schiftfarbe haben, sondern nochmal Seperat für die Glow-Effekt mit dem folgenden Code:

1
 
[style=text-shadow: 5px 5px 1em '+artabus+', 5px 5px 1em '+artabus+', 5px 5px 1.2em'+artabus+'] Schrift mit Hintergundfarbe[/style]
 



Allerdings habe ich das Problem, wenn ich das andere erneut als neues Iconbar nutze, übernimmt der andere jedoch den insert-code. Kann ich die beiden irgendwie separat benutzen, ohne dass der eine den anderen vom insert-code übergreift?

Hier ein Beispiel wie ichs meine:


1
2
3
4
5
6
7
8
9
10
11
12
13
 
function pickColor() {
var jla=document.getElementById('chosenColor');
jla.innerHTML=artabus;
jla.style.backgroundColor=artabus;
insert('[color='+artabus+']','[/color]');
 

 
function pickColor() {
var jla=document.getElementById('chosenColor');
jla.innerHTML=artabus;
jla.style.backgroundColor=artabus;
insert('[style=text-shadow: 5px 5px 1em '+artabus+', 5px 5px 1em '+artabus+', 5px 5px 1.2em '+artabus+']','','[/style]');
 



Wenn ich 2 Java-codes erstelle übergreift der andere trotzdem den anderen. Dabei hätte ich diese gern getrennt, eine für Schriftfarbe die andere als Glow bzw Schattenfarbe für den Text. Ist da irgendwie was möglich?


 Antworten

 Beitrag melden
06.01.2016 20:07
avatar  Olaf
#2 RE: Colorpicker 2 mal?
Ol
Mitglied

In einen Script 2 die gleichen Funktionnamen funktioniert natürlich nicht.
Auch in einen Script (System) die gleichen ID's neu vergeben geht auch nicht.
Ich habe Dir das Script für Deine Zwecke umgeschrieben,das Du dann in der Iconbar unter "HTML" neu anlegen mußt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
<!-- http://www.interclasse.com/scripts/colorpicker.php -->
<!-- edited for compatibility with the xobor forum software -->
<div class="xob_icon_cont">
<div id="cpbase2" style="margin-left:40px"></div>
<script language="Javascript" type="text/javascript">
addColorPicker();
var ns6=document.getElementById&&!document.all;
var ie=document.all;
// http://www.interclasse.com/scripts/colorpicker.php
var artabus='';
function addColorPicker() {
var total=1657;
var X=Y=j=R=G=B=0;
var aR=new Array(total);
var aG=new Array(total);
var aB=new Array(total);
for (var i=0; i<256; i++) {
aR[i+510]=aR[i+765]=aG[i+1020]=aG[i+5*255]=aB[i]=aB[i+255]=0;
aR[510-i]=aR[i+1020]=aG[i]=aG[1020-i]=aB[i+510]=aB[1530-i]=i;
aR[i]=aR[1530-i]=aG[i+255]=aG[i+510]=aB[i+765]=aB[i+1020]=255;
if (i<255) {aR[i/2+1530]=127;aG[i/2+1530]=127;aB[i/2+1530]=127;}
}
var hexbase=new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
var i=0;
var jl=new Array();
for (x=0;x<16;x++) for (y=0;y<16;y++) jl[i++]=hexbase[x]+hexbase[y];

var colortable = '<'+'table border="0" cellspacing="0" cellpadding="0" onmouseover="showColor(event);" onclick="pickColor();">';
var H=W=63;
for (Y=0; Y<=H; Y++){
s='<'+'tr height="2">';
j=Math.round(Y*(510/(H+1))-255);
for (X=0; X<=W; X++){
i=Math.round(X*(total/W));
R=aR[i]-j;if(R<0)R=0;if(R>255||isNaN(R))R=255;
G=aG[i]-j;if(G<0)G=0;if(G>255||isNaN(G))G=255;
B=aB[i]-j;if(B<0)B=0;if(B>255||isNaN(B))B=255;
s=s+'<'+'td width="2" bgcolor=#'+jl[R]+jl[G]+jl[B]+'><'+'/td>';
}
colortable += s+'<'+'/tr>';
}
colortable += '<'+'/table>';
document.getElementById('cpbase2').innerHTML = colortable;


}
function pickColor() {
var jla=document.getElementById('chosenColor2');
jla.innerHTML=artabus;
jla.style.backgroundColor=artabus;
insert('[style=text-shadow: 5px 5px 1em '+artabus+', 5px 5px 1em '+artabus+', 5px 5px 1.2em '+artabus+']','[/style]');

}
function showColor(e){
source=ie?event.srcElement:e.target;
if(source.tagName=="TABLE")return;
while(source.tagName!="TD" && source.tagName!="HTML")source=ns6?source.parentNode:source.parentElement;
document.getElementById('previewColor2').style.backgroundColor=artabus=source.bgColor;
}
function lastColor(choose) {
if (choose.innerHTML != "") {
insert('[color='+choose.innerHTML+']','[/color]');

}
}
</script>

<div id="previewColor2" style="float:none; width:40px;height:128px;"></div>

<div id="chosenColor2" style="float:none;height:24px;" onclick="lastColor(this);"></div>


</div>
 



Gruß
Olaf

__________________________

http://138600.homepagemodules.de/

 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!