获取%&引用;转换为javascript输出
有人能帮我个忙吗?我的谷歌fu似乎完全缺乏 我正在尝试转换这个获取%&引用;转换为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
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一无所知:)