【问题标题】:if var > then div display: none如果 var > 然后 div 显示:无
【发布时间】:2014-05-11 15:08:01
【问题描述】:

我有一个变量lineNum,当我点击h1 时它会递增

我正在尝试将“if”设为div display:none,但我无法输入if 代码,对吗?

这是if JQuery 行,我在下面遇到问题:

if (lineNum > 1) {blue-sun-div, display: none;}

谢谢你的帮助:)


***编辑: 你好 这是我制作的 jquery 代码(我的第一个 jquery 编码项目)

当我单击“h1”和“h2”时,两个 div 会在屏幕上移动,“var”也会增加。当 'var' 达到 1 或更高时:blue-sun-div 应该消失。

如果我刷新浏览器,我可以使 blue-sun-div 消失,但只有在我手动输入 'var' =1 或更多时,所以我的 div-name 正确,但是当 lineNum++ 提高时它不会消失var 'lineNum' 自动超过 1。

在 lineNum 完成工作后,我是否需要在最后重新触发代码? 抱歉,如果这没有意义。这里是凌晨 4 点。

这里是代码。非常感谢

$(document).ready(function() {

  var lineNum = 0;

$("h1").click(function() {
    $("#blue-sun-div, #red-sun-div").animate({
            "left": "+=200px"
    }, 1000);
  });

$("h2").click(function() {
    $("#blue-sun-div, #red-sun-div").animate({
            "left": "-=200px"
    }, 1000);
  });

lineNum++;

if(lineNum > 1) {
    $("#blue-sun-div").css({ display: "none" });
}

})

【问题讨论】:

  • 您的lineNum++ 仅在创建文档时被调用。每次页面上发生某些事情时,它都不会被调用。如有必要,将lineNum++ 移动到 h1 或 h2 的单击功能中,或两者兼而有之。这将使每次点击 h1/2 标签时 lineNum 都会增加。
  • 见:this 一个简单的例子

标签: javascript jquery if-statement var


【解决方案1】:

您可以访问 jquery 吗?还是您只是使用普通的 javascript?

最简单的方法是:

if(lineNum > 1)
{
   $('#blue-sun-div').hide();
}

这假设您已经设置了 jquery,并且blue-sun-div 是 div 的 id (<div id="blue-sun-div">)

如果是类(<div class="blue-sun-div">)那么上面的jquery需要改成$('.blue-sun-div').hide();

对于纯 javascript,最好的方法是创建一个隐藏函数并在 h1 的 onclick 中调用它。

在您的 javascript 中:

function hideDiv(divId){
   document.getElementById(divId).style.display="none";
}

然后在html中:

<h1 id="SomeID" onclick="hideDiv('blue-sun-div');">H1 TEXT</h1>

【讨论】:

    【解决方案2】:

    只要做: 如果blue-sun-div 是类名

    if(lineNum>1){
      $(".blue-sun-div").hide();
    }
    

    如果blue-sun-div 是一个 ID

    if(lineNum>1){
      $("#blue-sun-div").hide();
    }
    

    【讨论】:

    • 你好,谢谢,我现在可以让 div 消失,但我认为 lineNum++ 并没有刷新我的脚本或类似的东西。或者也许'var'没有增加?我添加了更多代码,非常感谢 Francis 的帮助。
    【解决方案3】:

    要让一个元素有cssdisplay: none,可以使用以下方法:

    纯 JavaScript:

    if(lineNum > 1) {
        document.getElementById("blue-sun-div").style.display = "none";
    }
    

    使用 JQuery(我推荐这个)

    if(lineNum > 1) {
        $("#blue-sun-div").css({ display: "none" });
    }
    

    这是假设您有一个&lt;div id="blue-sun-div"&gt; ...

    【讨论】:

    • 大家好,谢谢大家。我无法发布我的代码,我会尽快发布,非常感谢:)
    • 感谢 Geof,我现在可以让 div 消失,但我认为 lineNum++ 可能不会增加或不刷新?这是我使用 jquery 的第一天,我现在已经添加了我的代码,感谢您的帮助:)
    • 在您的 jQuery 代码中,line++ 仅在文档​​准备就绪时被调用一次。在其他任何地方都不会是++'d。您应该将 line++ 放在事件处理程序中,只要有意义。
    • 另外,如果我的回答对您有帮助,我将不胜感激或接受回答。
    猜你喜欢
    • 2013-01-27
    • 2011-11-16
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    • 2011-05-06
    • 2013-08-28
    • 2015-08-06
    相关资源
    最近更新 更多