0

我对 Javascript/Jquery 很陌生,并且正在实现一个真正简单的图像轮播进行练习,但遇到了关于 Jquery 的“点击”方法的问题。

我目前拥有的代码如下:

$(document.getElementsByClassName("traverse")).click(function() {
    if(this.id = "left"){
        if (current == 0) {
            current = images.length-1;
        }
        else {
            current -= 1;
        }
    }
    else if(this.id = "right") {
        if(current = images.length-1) {
            current = 0;
        }
        else {
            current += 1;
        }
    }
    $(document.getElementById("image-view")).css("background-image", "url(" + images[current] + ")");
});

使用此代码没有错误,但每次我单击“#right”或“#left”按钮时,它们都会像“this.id = 'left'”一样运行代码。虽然我知道我可以简单地将两者分开,这会很好,但有没有一种方法可以类似于我现在将这个事件应用于类的方法,但通过 id 区分行为?

谢谢!

4

2 回答 2

4

错字

==比较_

=分配_

严格相等 (===) 如果操作数相等且类型相同,则返回 true

if(this.id === "left"){
            ^


和更好的使用

类选择器

$('.traverse').click(function(){ .. });

你的代码有问题

this.id = "left"每次都在 if 条件下分配,因此条件始终为真

if(this.id = "left"){
于 2013-11-01T00:55:40.307 回答
1

您只使用一个符号设置。 尝试这个:this.id left=

$(document.getElementsByClassName("traverse")).click(function(event) {
    if(event.target.id === "left"){

等等。

于 2013-11-01T00:56:15.307 回答