如何通过单击按钮循环显示背景图像?

时间:2014-08-23 04:54:08

标签: javascript jquery

我想通过使用按钮循环浏览一些背景,只是不太擅长js。我把它们命名为" 1" - " 13"。我想逐步完成它们。当我到达" 13"我想让它重新回到" 1"当" next"点击,当" prev"点击进入" 1"将其设置为" 13"。这是我尝试过的,但我知道我的语法对于js是错误的。

HTML

<button id="n" class="b">NEXT</button>
<button id="p" class="b">PREV</button>

CSS

body {
    background:black;
}

.b {
    background:black;
    color:white;
}

JS

$(document).ready(function(){

var i = 1;

$("#n").click(function() {
    alert(i);
    i++;
    $('body').css("background-image",  "url(../images/bg/ " + i + " .png)");
       if (i===14){i=1;};
 });

$("#p").click(function() {
    alert(i);
    i--;
    $('body').css("background-image",  "url(../images/bg/ " + i + " .png)");
        if (i===0){i=13;};
});
});

仍在努力,但一些帮助将很快完成它。 http://jsfiddle.net/80nz56wy/如果我使用本地内容,我想jsfiddle不会有多大帮助。

3 个答案:

答案 0 :(得分:1)

将您的javascript编码更改为如下..

var i = 1;

    $("#n").click(function() {
        $('body').css("background-image", "bg" + i +".png");
    i=i+1;
    if (i==13){i=1};
    });


    $("#p").click(function() {
            $('body').css("background-image", "bg" + i +".png");
    i=i-1;
    if (i==1){i=13};
    });

答案 1 :(得分:1)

你也应该试试这个。这里的条件是在设置CSS之前写入的,它首先检查然后分配图像路径。

$(document).ready(function() {
    var i = 0;

    $("#n").click(function() {
        i++;
        if (i > 13){ i = 1; };
        $('body').css('background-image',  'url(images/bg/' + i + '.png)');
       //if (i === 13){ i = 1; };
    });

    $("#p").click(function() {
        i--;
        if (i <= 0) { i = 13; };
        $('body').css('background-image',  'url(images/bg/' + i + '.png)');
        //if (i === 1) { i = 13; };
    });
});

另外,你可能会得到错误的图像路径,例如:

images/bg/0.png

images/bg/-1.png

答案 2 :(得分:0)

在这里,不知道我改变了20次,我一遍又一遍地编辑了同一条线,但我必须早点完全延迟。

$(document).ready(function(){

var i = 0;

    $("#n").click(function() {
        i++;
        if ( i > 13 ){ i = 1; };
        $('body').css('background-image',  'url(images/bg/' + i + '.png)');   
    });

    $("#p").click(function() {
        i--;
        if ( i <= 0 ){ i = 13; };
        $('body').css('background-image',  'url(images/bg/' + i + '.png)');    
    });
});