css boxShadow javascript更改设置间隔
我希望能够更改boxShadow。我希望它每秒钟都换成不同的颜色 我尝试了很多方法,但都没能成功。 我真的希望它在4种颜色之间切换,但2种就可以了css boxShadow javascript更改设置间隔,javascript,css,Javascript,Css,我希望能够更改boxShadow。我希望它每秒钟都换成不同的颜色 我尝试了很多方法,但都没能成功。 我真的希望它在4种颜色之间切换,但2种就可以了 <style> var myVar = setInterval(function () { smoke() }, 1000); function smoke() { if(document.getElementById("profile_description_box").style.boxShadow = "0px 0
<style>
var myVar = setInterval(function () {
smoke()
}, 1000);
function smoke() {
if(document.getElementById("profile_description_box").style.boxShadow = "0px 0px 35px #ed47d0") {
document.getElementById("myDIV").style.boxShadow = "0px 0px 25px #4d4d4d";
}
if(document.getElementById("profile_description_box").style.boxShadow = "0px 0px 35px #4d4d4d") {
document.getElementById("myDIV").style.boxShadow = "0px 0px 35px #ed47d0";
}
}
</style>
我不确定您的html dom元素到底是什么,因此不能准确,但下面的jsBin可以工作。您需要根据需要更改为不同的阴影 包含工作代码,即以下代码有效
var myVar=setInterval(smoke, 1000);
function smoke() {
var ele = document.getElementById("profile_description_box");
var eleBoxShadow = ele.style.boxShadow;
console.log('calling' + eleBoxShadow);
if(eleBoxShadow == "red 0px 0px 35px") {
ele.style.boxShadow = "0px 0px 25px blue";
}
else if(eleBoxShadow == "blue 0px 0px 35px") {
ele.style.boxShadow = "0px 0px 35px red";
}
else {
ele.style.boxShadow = "0px 0px 35px red";
}
}
几点
style.boxShadow的值包含rgbxx,xx,xx,因此您的if比较无效
尝试使用webkit、moz和其他特定于浏览器的boxShadhow属性。
正如hin110531所指出的,删除样式并添加脚本!
你的代码就快到了,但是你犯了一些错误
首先,删除你的声明。
第二,你的if语句是错误的。比较值时应使用==。
下面是您的工作代码
var myVar=setIntervalfunction{smoke},1000;
功能烟{
如果document.getElementByIdprofile\u description\u box.style.boxShadow=={
document.getElementByIdmyDIV.style.boxShadow=0px 0px 25px天蓝色;
document.getElementByIdprofile\u description\u box.style.boxShadow=0px 0px 35px红色;
}否则,如果document.getElementByIdprofile\u description\u box.style.boxShadow==0px 0px 35px红色{
document.getElementByIdmyDIV.style.boxShadow=0px 0px 35px蓝色;
document.getElementByIdprofile\u description\u box.style.boxShadow=0px 0px 35px橙色;
}否则,如果document.getElementByIdprofile\u description\u box.style.boxShadow==0px 0px 35px橙色{
document.getElementByIdmyDIV.style.boxShadow=0px 0px 35px天蓝色;
document.getElementByIdprofile\u description\u box.style.boxShadow=0px 0px 35px红色;
}
}
配置文件\u说明\u框{
填充:50px;
}
myDIV{
高度:100px;
}
这是我如何让它工作的
<!DOCTYPE html>
<html>
<head>
<style>
#myDIV {
position: absolute;
width: 100px;
height: 100px;
background-color: coral;
color: white;
box-shadow: 10px 10px 10px blue;
}
</style>
</head>
<body>
<p>Click the "Try it" button to set the boxShadow property of the DIV element:</p>
Test: <span id="ttest">1</span>
<button onclick="myFunction()">Try it</button>
<div id="myDIV">
<h1>myDIV</h1>
</div>
<script>
var myVar=setInterval(function () {smoke()}, 1000);
function smoke() {
var a = document.getElementById("ttest").innerHTML;
var b = +a + 1;
document.getElementById("ttest").innerHTML = b;
if( a == 1 ) {
document.getElementById("myDIV").style.boxShadow = "10px 10px 10px blue";
}
if( a == 7 ) {
document.getElementById("myDIV").style.boxShadow = "10px 10px 10px red";
}
if( a == 13 ) {
document.getElementById("myDIV").style.boxShadow = "10px 10px 10px black";
}
if( a == 19 ) {
document.getElementById("myDIV").style.boxShadow = "10px 10px 10px skyblue";
}
if( a == 29 ) {
document.getElementById("myDIV").style.boxShadow = "10px 10px 10px red";
document.getElementById("ttest").innerHTML = "1";
}
}
</script>
</body>
</html>
首先将样式部分更改为脚本。是否尝试使用webkit、moz和其他特定于浏览器的boxShadhow属性???你也不需要做函数{smoke},只需要做setIntervalsmoke,1000你能把你的html稍微放一点吗?因为你使用了两个不同的ID profile\u description\u box和myDiv,我不明白为什么。你在重复提问者犯过的相同错误。你指的是哪一个?因为他所比较的价值是错误的,所以我没有考虑这个条件!您刚刚将所有ifeleBoxShadow=0px 0px 25px 4d4d语句更改为ifeleBoxShadow==0px 0px 25px 4d4d··。问我指的是哪一个听起来很奇怪,先生。我只是想让你知道,顺便说一句,我不是想责怪你。我的ID也不是hin110531:=@hina10531是的,我知道你指的是==正如我在之前的评论中提到的那样。我想知道你是否引用了==之外的其他内容,以便我也可以更改它!谢谢你让我知道这一点!你们很接近,但不会改变。它总是保持一种颜色。是的,我已经抓到了==和!为什么不换不同的颜色呢?