2012-12-02 21 views
0

我想在每個點擊類中顯示一些文本,但保持點擊類。不久,如果你點擊2次,你會得到一個div文本「你點擊了兩次」,你仍然可以點擊第三次,然後你會得到「你點擊了三次」,直到第五次當所有東西會隱藏。有沒有什麼simpel的方式來做到這一點?我嘗試過這個,但無法讓它工作。如何讓不同的文字在點擊x次後出現?

var clicks = 0; 
$('.clicky').on('click', function() 
    { 
    clicks++; 
     if(clicks >= 3) 
     { 
     $(this).add($('.background')).add($('.hello')); 
     } 

     else(clicks >= 5) 
     { 
     $(this).add($('.background')).hide(); 
     } 
     });​ 

http://jsfiddle.net/sLAzY/ 這是隱藏功能的工作示例。

希望你明白我的意思
祝你有美好的一天!

+1

我很困惑。你在你的問題中說,你想改變文本來顯示div被點擊了多少次,但是在你的代碼中你甚至沒有試圖改變/設置任何文本。 – FixMaker

+0

你的代碼有一個問題是else(clicks> = 5)'應該讀else else if(clicks> = 5)' – Stuart

回答

1

這是否幫助你。我使用JQuery數據()而不是全局變量。所以這會幫助你有多個Clicky類的元素。

<div class="clicky"> 
    aaaa 
</div> 
<div class="clicky"> 
    bbbb 
</div> 
<script type="text/javascript" src="jquery.js" ></script> 
<script type="text/javascript"> 
$('.clicky').data('times', 0); 
$('.clicky').on('click', function(){ 
    var times = parseInt($(this).data('times')) + 1; 
    $(this).data('times', times); 
    if(times >= 3 && times<5) 
     $(this).addClass('background').addClass('hello'); 
    else if (times >= 5){ 
     $(this).hide('fast'); 
    } 
}); 
</script> 
+0

完美。工作出色!非常感謝 – Sebastian

1

使用switch語句。請注意,因爲您的元素只有類屬性,所以選擇器可以匹配多個元素。只是要記住。

Fiddle測試

var clicks = 0; 
$('.clicky').on('click', function(){ 
    var string; 
    clicks++; 
    switch(clicks){ 
    case 1: 
     string = "You clicked one time"; 
     $('.clicky').text(string); 
     break; 
    case 2: 
     string = "You clicked two times"; 
     $('.clicky').text(string); 
     break; 
    case 3: 
     string = "You clicked three times"; 
     $('.clicky').text(string); 
     break; 
    case 4: 
     string = "You clicked four times"; 
     $('.clicky').text(string); 
     break; 
    case 5: 
     $(this).add($(".background")).hide(); 
     break; 
    } 
});​ 
+0

Thanks!是的,它工作得很好。如果我想將字符串更改爲div,我只需將案例更改爲: 'case 4: $('。clicky')。text; break;'對嗎? – Sebastian

+0

否。要將字符串更改爲div,您需要調用'$('。clicky')。html(string)',否則您的標籤將被轉換爲[html實體](http://www.w3schools.com /html/html_entities.asp) – Enrico

+0

通過divs,你的意思是'string =「

some text
」',對不對? – Enrico

相關問題