【发布时间】:2012-09-03 14:28:32
【问题描述】:
我正在尝试在 javascript 中采用灵活的参数来使用 eyecon colorpicker (www.eyecon.ro/colorpicker/) 来操纵颜色
但是当我尝试更改页面颜色时,页面会挂起,是否卡在 arguments.length 循环中?
html 是:
<div class="colorSelector" id="colorSelector3"><div style="background-color: #0000ff"></div></div>
jquery/javascript 是:
$('#colorSelector3').click(function(){
colorPickDynamic('#colorSelector3','h1','color');
});
function colorPickDynamic(cp){
var i;
var j;
for (x=0, i = 1, j = 2; j < arguments.length; i+2, j+2, x++) {
var tag = [];
var colorProperty = [];
tag[x]=arguments[i];
colorProperty[x]=arguments[j];
}
$(cp).ColorPicker({
color: '#0000ff',
onShow: function (colpkr) {
$(colpkr).fadeIn(500);
return false;
},
onHide: function (colpkr) {
$(colpkr).fadeOut(500);
return false;
},
onChange: function (hsb, hex, rgb) {
$(tag[0]).css(colorProperty[0], '#' + hex);
$(cp + ' div').css('backgroundColor', '#' + hex);
}
});
}
任何帮助都会很棒!谢谢
【问题讨论】:
-
您能否更明确地定义您希望
colorPickDynamic的方法签名是什么。换句话说,每个参数或参数列表应该代表什么? -
arguments[0], arguments[1]...arguments.length 也有
-
请注意,“arguments”不是一个真正的数组,如果可以的话,只是一种解决方法
标签: javascript jquery argument-passing