我正在尝试自己学习Javascript。所以我给了自己一个任务:创建一个按钮,用那个按钮我可以改变背景颜色。这就是我到目前为止所做的。我假设我不需要在localhost下运行它,就像我们通常使用PHP一样?我只将文件拖到谷歌浏览器。到目前为止,点击后,它根本不会改变颜色。我也想知道为什么。如果有人可以指出我的错误
,将不胜感激exe1.html
<html>
<head>
<link rel="stylesheet" href="layout.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.button').click(function(){
$('body').css('background', '#' + changeColour());
});
});
function changeColour() {
return Math.floor(Math.random()*16777215).toString(16);
}
</script>
</head>
<body>
<div class="buttonClickMe">
<button type="button" onclick="changeColour">Click me</button>
</div>
</body>
layout.css中
button
{
background-color: red;
width: 100px;
height: 100px;
}
body
{
text-align: center;
background-color: blue;
}
答案 0 :(得分:4)
看起来您正尝试以两种方式实现点击事件:
作为HTML属性
<button type="button" onclick="changeColour">
为了使这种方式起作用,您应该使用changeColour
作为函数:
<button type="button" onclick="changeColour()">
通过JS
$('.button').click(function(){ ...
这是button
的错误选择器(.
按类名查找元素)。相反,请使用button
:
$('button').click(function(){ ...
任何一种方法都可以使用,你只需要一种方法。
答案 1 :(得分:2)
这应该有效
$(document).ready(function () {
$('.button').click(function () {
changeColour();
});
});
function changeColour() {
var col = Math.floor(Math.random() * 16777215).toString(16);
$('body').css('background', '#' + col);
}
答案 2 :(得分:2)
如果您正在学习javascript,请不要快速跳转到jQuery,首先要使用普通的javascript,就像这样。
纯JS
var array = ['black','red','yellow']; //create an array with colors
function changes(){ //create the function
document.bgColor= array[Math.floor(Math.random()* array.length)]; //change the document. for example
}
<强> HTML 强>
<button type="button" onclick="change()">Click me</button>
答案 3 :(得分:1)
您用于点击事件的选择器不存在。在按钮中添加一个类以使其正常工作。
试试这个:
<强> HTML 强>
<button type="button" class="button">Click me</button>
<强> CSS 强>
$(document).ready(function(){
$('.button').on('click', function(){
$('body').css('background', '#' + changeColour());
});
});
function changeColour() {
return Math.floor(Math.random()*16777215).toString(16);
}
答案 4 :(得分:1)
$('.button').click(function(){...
指的是点击带有CLASS按钮的按钮。
只需将class=""button"
添加到您的按钮即可,但我建议您使用id="myId"
并使用$('#myId').click(function(){
代替。
答案 5 :(得分:1)
答案 6 :(得分:1)
尝试一下...... JSFiddle https://jsfiddle.net/w6tjtaqy/
<script>
$(document).ready(function(){
$('.button').click(function(){
$('body').css('background', '#' + changeColour());
});
});
function changeColour() {
return Math.floor(Math.random()*16777215).toString(16);
}
</script>
<style>
button
{
background-color: red;
width: 100px;
height: 100px;
}
body
{
text-align: center;
background-color: blue;
}
</style>
<div class="buttonClickMe">
<button type="button" class="button">Click me</button>
</div>