You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery点击slider后span文本仅第二次点击才变更问题求助

问题根因

你的HTML里.price1-span标签的文本前后自带了空格,对应HTML片段如下:

<span class="price1-span"> 19.99 </span>

你在JS中直接用.text() == "19.99"做判断,第一次点击时拿到的文本实际是" 19.99 "(前后带空格),和你判断的字符串不匹配,所以会走else分支把文本改成"19.99",第二次点击时判断才会命中,就出现了需要点两次才会切换到59.99的情况。

修复方案

只需要在获取文本后调用trim()方法去除前后空白字符即可,修改后的JS代码如下:

$(document).ready(function() {
  $(".slider").click(function() {
    $(".btn").toggleClass("movement");
    var newPrice1 = "59.99";
    // 新增trim()去除前后空格
    if ($(".price1-span").text().trim() == "19.99") {
      $(".price1-span").text(newPrice1)
    } else {
      $(".price1-span").text("19.99");
    }
  });
});

更稳妥的优化方案

你也可以直接根据滑块是否有movement类来判断当前状态,避免文本判断容易出问题的情况:

$(document).ready(function() {
  $(".slider").click(function() {
    const $btn = $(".btn");
    $btn.toggleClass("movement");
    // 按滑块状态判断价格
    $(".price1-span").text($btn.hasClass("movement") ? "59.99" : "19.99");
  });
});

内容的提问来源于stack exchange,提问作者Twelveoclock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 00:24:03