正在尝试实现body标记颜色更改
Trying to implement a body tag color change
我正在学习Javascript/JQuery。
我正在写一个guess-and-number游戏,如果用户猜测错误,我将尝试在id
上.animate()
和backgroundColor
的更改。我已经看到了一些这样的例子,并在JQuery网站上找到了一个我正在尝试使用的例子。
您可以在此处查看代码:https://github.com/thecompu/hc
否则,它就在下面。
注意:如果你在浏览器中运行index.html
,随机数字会记录到控制台中,但如果你没有打开控制台,你就看不到它。不过,数字选择只能在1到10之间。
现在发生的情况是,如果你猜错了号码,就会按照我的意愿再次提示你。但我也希望身体背景颜色变为红色。相反,背景颜色是在用户给出正确答案后改变的,并且没有动画。
$(document).ready(function () {
var answer = Math.floor(Math.random() * 10) + 1;
console.log(answer);
function game() {
var guess = prompt("Choose a number!");
guess = Number(guess);
if (guess !== answer) {
$("#bg").animate({
backgroundColor: "#F00",
color: "#000",
}, 1000);
console.log("Nope!");
game();
} else {
console.log("Yay!");
}
}
game();
});
您不能在本机使用jQuery设置背景颜色的动画。但是,您可以使用CSS转换来做同样的事情,只使用body类。
CSS
body
{
transition: 1s;
-webkit-transition: 1s;
}
body.blue
{
background: blue;
}
body.red
{
background: red;
}
然后简单地使用javascript将一个类添加到主体中,就像下面的fiddle:
http://jsfiddle.net/jakelauer/bUNkJ/
即使项目中包含jquery颜色,问题仍然存在。问题的根源在于prompt
的使用。它可以防止浏览器执行,而且由于您一直在重新调用它,因此永远不会给动画发生的机会。
以下是一种使用jqueryui(它是您项目的一部分)和jquery.color的事件驱动方法
$(document).ready(function () {
$('#guessPrompt').dialog({
autoOpen: false,
buttons: {}
});
$('#guessInput').keypress(function () {
if ($('#guessInput').val() != answer) {
$('#guessInput').val('');
$('#guessPrompt').dialog('close');
$("#bg").animate({
backgroundColor: "#F00",
color: "#000"
}, {
duration: 1000,
always: function () {
console.log('hi');
$('#guessPrompt').dialog('open');
$('#bg').css('backgroundColor', '#888');
}
});
console.log('Nope');
} else {
console.log('yay');
}
});
var answer = Math.floor(Math.random() * 10) +1;
$('#guessPrompt').dialog('open');
});
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 高亮显示时编辑文本大小和颜色
- 用与线条相同的颜色填充多折线图上的点
- 更改使用Chart.js创建的图表中的轴线颜色
- 如何使用jquery更改html中的背景颜色
- 动态更改高图中的系列颜色
- jsf中两个字符串的颜色代码差异
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- d3.hexbin插件-动态定义颜色域以适应数据
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 不同页面背景的body标记上的角度ng样式
- jQuery动画-边框宽度和颜色
- JS幻灯片与CSS背景颜色变化
- contentWindow.document.body is null
- 使用CSS/JavaScript更改剑道图工具提示文本颜色
- 使用Angular单击时更改特定图示符图标的颜色
- 正在尝试实现body标记颜色更改
- jQuery改变body's背景颜色