jQuery // 为什么这个 if 语句不正确

jQuery // why is this if-statement incorrect?

本文关键字:语句 不正确 if 为什么 jQuery      更新时间:2023-09-26

在我的 html 中,我有一个列出了 7 张图像的div,但在div 中"适合"只有 5 张,所以我创建了 2 个按钮(bt1 和 bt2)来"水平滚动"这些图像。

我想要的是当我单击 bt2 并且第一个图像位于第一个位置时(在这种情况下,左侧为 0px),图像不应该能够进一步滚动,否则它们只是正常滚动。

代码片段

$("#bt2").click(function()
 {
    if (($("#symbole").find("img").first().css({"left:0px"}))==true)
          {         
          }
    else{
          $("img").animate({
          "left":"+=100px"
          },
        420);
    }
 });

css 方法不返回布尔值 true /false,以便您可以像以前一样将其与 true 进行比较。您需要获取左侧的 css 值,但您正在设置它

if (($("#symbole").find("img").first().css("left") === "0px")

if($("#symbole img:eq(0)").css("left") === "0px") 

或使用parseInt来获取没有px的值

if (parseInt($("#symbole").find("img").first().css("left"), 10) === 0)

更新了建议。

目前您正在设置 css。您需要保留 css 属性,然后进行比较。

 if ($("#symbole").find("img").first().css("left") == "0px")

Css 不返回 true/false。您需要将其与如下值进行比较:

if (($("#symbole").find("img").first().css("left") === "0px")

尝试使用它而不是您的 if。