鼠标移动时更改渐变背景颜色
Change gradient background colors on mouse move
我正在尝试一个渐变,它的顶部和底部颜色会根据光标位置进行更改。下面的函数在使用$(document.body).css('background','rgb('+rgb.join(',')+')');
更改背景时有效,但我似乎无法使用渐变。下面的代码是我为在Firefox中进行测试而设置的。我将在当前尝试为每个浏览器设置选项时更新代码。
$(window).load(function(){
var $win = $(window),
w = 0,h = 0,
top = [],
bottom = [],
getWidth = function() {
w = $win.width();
h = $win.height();
};
$win.resize(getWidth).mousemove(function(e) {
top = [
Math.round(e.pageX/w * 255),
Math.round(e.pageY/h * 255),
150
];
bottom = [
Math.round(e.pageX/h * 255),
Math.round(e.pageY/w * 255),
150
];
$(document.body).css('background: -moz-linear-gradient(top, ('+top.join(',')+'), ('+bottom.join(',')+'))');
}).resize();
});
一个问题是您错误地使用了javascript .css
方法。它需要两个参数或一个对象。所以应该是:
$(document.body).css('background', '-moz-linear-gradient(top, rgb('+top.join(',')+'), rgb('+bottom.join(',')+'))');
或
$(document.body).css({background : '-moz-linear-gradient(top, rgb('+top.join(',')+'), rgb('+bottom.join(',')+'))'});
除此之外,您的代码看起来基本正确。
相关文章:
- 画布使用带有角度的线性渐变背景集
- 我怎么能有一个自动渐变背景使用JavaScript,它适用于最新版本的Internet Explorer
- 如何在每次页面重新加载时更改渐变背景,同时保持光标位置元素处于活动状态
- Highchart条形图中的渐变背景条形图
- 通过程序添加CSS渐变作为背景图像
- 动画渐变(javascript)背景不会延伸到窗口的整个高度
- 在具有动态高度的背景图像上创建渐变覆盖
- 使用javascript更改背景图像时保持渐变不变
- 使用 ng 样式进行背景渐变时出现 AngularJS 语法错误
- 我将如何在JavaScript中设置CSS渐变背景
- 背景图像本身的 CSS 渐变
- 弹跳球在JavaScript上与背景和渐变
- 使用Javascript有没有办法抓取由线性或径向渐变渲染的背景图像
- 生成渐变 css / svg 背景
- 鼠标移动时更改渐变背景颜色
- 改变渐变背景的颜色(Chrome)
- CSS z索引渐变背景
- 我如何设置不同的渐变背景,每次用户刷新
- 使用CSS3渐变背景和前后伪元素
- 渐变背景横幅图像,可自动调整窗口当前宽度的大小