Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.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 用JS更改CSS属性“left”无效_Javascript_Css - Fatal编程技术网

Javascript 用JS更改CSS属性“left”无效

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")

我的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").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