:無

2014-04-01 9 views
-2

我有一個變量lineNum遞增的,當我點擊h1:無

我試圖讓「if」做出div display:none,但我只是不能類型if代碼嗎?

這裏是我有以下麻煩if JQuery的行:

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

感謝您的幫助:)


***編輯: 你好 這裏是jQuery的(我的第一個jQuery編碼項目)

當我點擊'h1'和'h2','va時,兩個div在屏幕上移動r'也增加。當'var'變爲1或以上時:blue-sun-div應該消失。

如果我刷新瀏覽器,但只有在手動輸入「var」= 1或更多時,我才能使blue-sun-div消失,所以我具有正確的div名稱,但在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" }); 
} 

}) 
+0

您的'lineNum ++'只在文檔被創建時被調用。每次頁面上發生什麼時都不會調用它。將'lineNum ++'移動到h1或h2的點擊函數中,或者根據需要移動。這會在每次單擊h1/2標籤時使lineNum增量。 – Jake

+0

看到:[this](http://jsfiddle.net/fYvWJ/)爲一個簡單的例子 – Jake

回答

0

你有權限訪問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中調用它。

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

然後在html:

在JavaScript

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

只是做: 如果blue-sun-div是一個類名

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

如果blue-sun-div是一個ID

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

你好,謝謝,我可以使div現在消失,但我認爲lineNum ++不刷新我的腳本或沿線的東西。或者'var'沒有增加?我添加了更多的代碼,非常感謝你的幫助弗朗西斯。 – user3434591

0

爲了使元素具有CSS display: none,你可以用下面的方法:

純JavaScript:

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

使用jQuery(我推薦這個)

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

這是假設你有一個<div id="blue-sun-div"> ...

+0

大家好,謝謝大家。我無法發佈我的代碼,我會盡快發佈,非常感謝你:) – user3434591

+0

謝謝Geof,我可以讓div現在消失,但我認爲lineNum ++可能不會增加或不刷新?這是我第一天使用jQuery,現在我已經添加了我的代碼,感謝您的幫助:) – user3434591

+0

在你的jQuery代碼中,只有當文檔準備就緒時,纔會調用'line ++'一次。它不會在其他地方成爲'++'。你應該把'line ++'放在事件處理器中,只要有意義。 – geoff