更改CSS属性" left"与JS没有工作

时间:2014-09-03 09:19:54

标签: javascript css

我的JS代码出了问题,我想更改CSS属性" left"一个元素。我不确定究竟是什么问题。我是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> 

2 个答案:

答案 0 :(得分:0)

以下是您更正后的代码:

与“==”或“===”进行比较,而不仅仅是“=”。

"=" is for allocation.
"==" is for checking if it's the same value.
"===" is for checking same value and same type.

Here是有关它的更多信息。

您还必须再次设置样式,否则只需更改变量。

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;
}

您可以使用开关命令,而不是检查这么多值。 为了进一步改进代码,您可以使用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;
}

即使这看起来比你的代码更好,但仍有很多改进。你告诉我们,你想要达到的目标真是太好了。

答案 1 :(得分:0)

我不确定这是否能解决您的问题,但是您的表达方式:

if (left = "0px")

实际上是作业。表达式用“==”写成:

if (left == "0px")

我希望这能解决你的问题:)

编辑:它无法解决问题。但请记住:)