Javascript 用JS更改CSS属性“left”无效
我的JS代码有问题,我想更改元素左边的CSS属性。我不确定到底是什么问题。我对JS很陌生。下面的代码显示了我的CSS和JS代码 CSS:Javascript 用JS更改CSS属性“left”无效,javascript,css,Javascript,Css,我的JS代码有问题,我想更改元素左边的CSS属性。我不确定到底是什么问题。我对JS很陌生。下面的代码显示了我的CSS和JS代码 CSS: #Slider_Cont_Section { left: 0; } JavaScript: <script type="text/javascript"> function FunzioneSliderLeft() { var left = document.getElementById("Slider_Cont_Section")
#Slider_Cont_Section
{
left: 0;
}
JavaScript:
<script type="text/javascript">
function FunzioneSliderLeft()
{
var left = document.getElementById("Slider_Cont_Section").style.left;
if ( left = "0px")
{
left = "0px";
}
else if ( left = "-1280px")
{
left = "0px";
}
else if ( left = "-2560px")
{
left = "-1280px";
}
else
{
left="-2560px";
}
</script>
<script type="text/javascript">
function FunzioneSliderRight()
{
var left = document.getElementById("Slider_Cont_Section").style.left;
if ( left = "0px")
{
left = "-1280px";
}
else if ( left = "-1280px")
{
left = "-2560px";
}
else if ( left = "-2560px")
{
left = "-3840px";
}
else
{
left="0px";
}
</script>
这是您更正的代码: 与==或==进行比较,而不仅仅是=
"=" is for allocation.
"==" is for checking if it's the same value.
"===" is for checking same value and same type.
有更多关于它的信息
您还必须重新设置样式,否则只需更改变量
function FunzioneSliderLeft() {
var left = document.getElementById("Slider_Cont_Section").style.left;
if ( left == "0px") {
return; }
if ( left == "-1280px") {
left = "0px";}
else if ( left == "-2560px") {
left = "-1280px";}
else {
left="-2560px"; }
document.getElementByID("Slider_Cont_Section").style.left = left;
}
function FunzioneSliderRight() {
var left = document.getElementById("Slider_Cont_Section").style.left;
if ( left == "0px") {
left = "-1280px"; }
else if ( left == "-1280px") {
left = "-2560px";}
else if ( left == "-2560px") {
left = "-3840px";}
else {
left="0px"; }
document.getElementByID("Slider_Cont_Section").style.left = left;
}
您可以使用switch命令,而不是检查这么多值。
为了进一步改进代码,可以使用JQuery框架
function FunzioneSliderLeft() {
var left = $("#Slider_Cont_Section").css("left");
switch(left) {
case "0px":
return;
break; //for the Validator
case "-1280px":
left = "0px";
break;
case "-2560px":
left = "-1280px";
break;
default:
left = "-2560px";
}
$("#Slider_Cont_Section").css("left") = left;
function FunzioneSliderRight() {
var left = $("#Slider_Cont_Section").css("left");
switch(left) {
case "0px":
left = "-1280px";
break;
case "-1280px":
left = "-2560px";
break;
case "-2560px":
left = "-3840px";
break;
default:
left = "0px";
}
$("#Slider_Cont_Section").css("left") = left;
}
尽管这看起来比您的代码好,但仍有很多改进。如果你能告诉我们你到底想实现什么,那就太好了。我不确定这是否能解决你的问题,但你的表达:
if (left = "0px")
实际上是作业。表达式使用==编写,如下所示:
if (left == "0px")
我希望这能解决您的问题:
编辑:它不能解决问题。但请记住:不工作是不够的解释。请提供有关您正试图做什么以及到底出了什么问题的信息。是否有任何错误?请尝试为您的帖子创建更多有意义的标题。感谢您的更正:-D功能如何工作…谢谢大家:-D