我的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>
答案 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")
我希望这能解决你的问题:)
编辑:它无法解决问题。但请记住:)