Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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 通过单击将div的背景颜色从左边框更改为右边框_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 通过单击将div的背景颜色从左边框更改为右边框

Javascript 通过单击将div的背景颜色从左边框更改为右边框,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想通过单击按钮从左边框开始更改div的颜色。 我举了一个例子,在鼠标悬停在div上时做了类似的事情。 . 我想要那样的东西 这是我的代码: HTML: <html> <head> <script src="https://code.jquery.com/jquery-2.2.1.min.js"></script> </head> <body> <div class="abc" id="d" style="

我想通过单击按钮从左边框开始更改
div
的颜色。

我举了一个例子,在鼠标悬停在div上时做了类似的事情。
.
我想要那样的东西

这是我的代码:

HTML

<html>
<head>
  <script  src="https://code.jquery.com/jquery-2.2.1.min.js"></script>
</head>
<body>
  <div  class="abc" id="d" style="width:150px; height: 150px;">
    <button onClick="setNew()">Click me</button>
    <button onClick="goBack()">Click me</button>
  </div>
</body>
<html>
function setNew() {
   var id = "dv";
   document.getElementById(id).style.backgroundColor = "lightblue";
}
function setNew() {
   var id = "d";
   document.getElementById(id).style.backgroundColor = "white";
}
.abc {
  background-color:white;
  transition: background-color 800ms linear;  
}
CSS

<html>
<head>
  <script  src="https://code.jquery.com/jquery-2.2.1.min.js"></script>
</head>
<body>
  <div  class="abc" id="d" style="width:150px; height: 150px;">
    <button onClick="setNew()">Click me</button>
    <button onClick="goBack()">Click me</button>
  </div>
</body>
<html>
function setNew() {
   var id = "dv";
   document.getElementById(id).style.backgroundColor = "lightblue";
}
function setNew() {
   var id = "d";
   document.getElementById(id).style.backgroundColor = "white";
}
.abc {
  background-color:white;
  transition: background-color 800ms linear;  
}

这在单击而不是悬停时发生

ul{
列表样式类型:无;
}
ullia{
文字装饰:无;
}
斯基尔斯先生{
浮动:左;
右边距:1px;
}
李{
浮动:左;
}
a.斯基尔先生{
宽度:100px;
填充:11px 16px;
文本对齐:居中;
浮动:左;
背景:#ff3232;
背景:线性梯度(向左,红色50%,蓝色50%);
背景大小:200%100%;
背景位置:右下角;
左边距:10px;
过渡:一切都很轻松;
}
a:集中注意力{
背景位置:左下;
}
a.斯基尔先生{
颜色:白色;
}


以Jquery的方式,您可以在单击时单击事件,在您的div中添加一个拥有css的类

$(文档).ready(函数(){
$(“li”)。单击(函数(){
$(“li”).removeClass(“活动”);
$(此).addClass(“活动”);
})
})
ul{
列表样式类型:无;
}
ullia{
文字装饰:无;
}
斯基尔斯先生{
浮动:左;
右边距:1px;
}
斯基尔斯·杜布利先生{
宽度:100px;
填充:11px 16px;
文本对齐:居中;
浮动:左;
背景:#ff3232;
/*旧浏览器*/
背景:线性梯度(向右,蓝色50%,红色50%);
背景大小:200%100%;
背景位置:右下角;
左边距:10px;
过渡:一切都很轻松;
}
.skills双倍激活{
背景位置:左下;
}
a.斯基尔先生{
颜色:白色;
}


示例使用线性渐变,您不需要,它只会从一种颜色变为另一种颜色。-重点测试链接你的意思是,颜色转换应该只在单击时更改,而不是在悬停时更改?谢谢@GCyrillus的回复!无论如何,我希望通过js函数来实现这一点,因为我希望在其他情况下调用函数,而不仅仅是在用户单击按钮时。我想,颜色变化的开始,从左到右每次结束,无论是过渡是白色蓝色或蓝白色。你能再帮我一次吗?马克,重点是使用渐变和重置背景位置。我使用焦点,使用onclick事件:)