Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取%&引用;转换为javascript输出_Javascript_Jquery_Css - Fatal编程技术网

获取%&引用;转换为javascript输出

获取%&引用;转换为javascript输出,javascript,jquery,css,Javascript,Jquery,Css,有人能帮我个忙吗?我的谷歌fu似乎完全缺乏 我正在尝试转换这个 var $win = jQuery(window), w = 0,h = 0, sgcolour = [], getWidth = function() { w = $win.width(); h = $win.height(); }; $win.resize(getWidth).mousemove(function(e) { sgcolour = [ Math.round(e.pageX/w * 255), Math

有人能帮我个忙吗?我的谷歌fu似乎完全缺乏

我正在尝试转换这个

var $win = jQuery(window),
w = 0,h = 0,
sgcolour = [],
getWidth = function() {
 w = $win.width();
 h = $win.height();
};
$win.resize(getWidth).mousemove(function(e) {
 sgcolour = [
  Math.round(e.pageX/w * 255),
  Math.round(e.pageY/h * 255),
  150,
  1
 ];
 jQuery(document.body).css('background','rgba('+sgcolour.join(',')+')');
}).resize();

从rgba到hsla,x轴为色调,y轴为饱和度,其他值固定

我想我已经得到了显而易见的结果(将“rgba”更改,将值从适合rgba的thos设置为适合hsla的thos),但在我的一生中,我无法解决如何让它在所需值后输出“%”


我希望我能自己解决这个问题,但我不确定我对这个问题是否了解得足够多,是否能用谷歌搜索出正确的问题://

int/int
结果为
int
(所以是0还是1)

除法前应先乘法:

Math.round(e.pageX * 255 / w),
Math.round(e.pageY * 255 / h),
您不需要对值进行
舍入
,因为它是
int
类型

(e.pageX * 255 / w),
(e.pageY * 255 / h),

如果它只是一个字符串,您可以将其连接到
“%”
,因此我不确定问题出在哪里:

...
sgcolour = [
   Math.round(e.pageX/w * 360),
   Math.round(e.pageY/h * 100) + '%',
   '50%',
   1
];
jQuery("body").css('background','hsla('+sgcolour.join(',')+')');

请注意,这根本不是直接转换。如果你想让它这样做,那么我建议使用你当前的
rgb
方法,然后再将其转换为
hsl

whoosh(那是答案在我头上发出的声音)甚至不确定我是否解释正确。以上输出“背景:rgba(xxx,xxx,150,1);”到css,我想。。。“背景:hsla(xxx,xxx%,50%,1);”所以我想我只需要知道如何在正确的位置插入“%”符号???(第三个数字的50只是一个例子,只是插入了%)他说你的代码
e.pageX/w
不会给你一个浮点(分数)结果。它将为您提供0或1。如果你按照他的建议修改代码,你会得到正确的结果。然后担心%符号(见下面的答案)谢谢,这正是我想要的。问题是我对javascript一无所知:)