2012-03-14 73 views
0

我正在使用jQuery的面板來顯示和隱藏。它上面有一個小箭頭圖像,它也在隱藏和顯示上發生變化。我的代碼是jQuery:更改類的單擊事件

<div class="trigger-m"><span id="toppanelarrow">&nbsp;</span></div> 

現在當面板打開時,類會添加到to_up,面板關閉時會添加to_down。我有相應的上下箭頭圖像。

有人可以幫助我添加一個jQuery on'toppanelarrow'的點擊事件,所以一個新的類被添加到跨度。

我試過$().addClass().removeClass()但這沒有奏效。

更新:請找到小提琴實施http://jsfiddle.net/B5QUj/4/

感謝

+0

顯示代碼和HTML(在HTTP://的jsfiddle .net如果可能的話) – 2012-03-14 14:07:16

+0

不好意思回覆遲到。我已經用jsfiddle編碼了,這裏是鏈接。 http://jsfiddle.net/B5QUj/3/ – Aditya 2012-03-14 18:28:26

回答

1

你應該試試(這增加了類to_down如果跨度有to_up

$('#toppanelarrow').click(function(){ 
    if($(this).hasClass('to_up')){ 
    $(this).addClass('to_down').removeClass('to_up'); 
    }else{ 
    $(this).addClass('to_up').removeClass('to_down'); 
    } 
}); 

這也可以寫成

$('#toppanelarrow').click(function(){ 
     $(this).toggleClass('to_up to_down').; 
}); 
+0

尼古拉,我也試過這個,但它不工作。 – Aditya 2012-03-14 14:11:14

+1

@Aditya你確定,它似乎在這裏工作http://jsfiddle.net/q8dGy/1/ – 2012-03-14 14:18:48

2

此外,您可以嘗試

$(this).toggleClass('classname'); 
0

嘗試:

$("#yourClassID").addClass("cssClass"); 
3

如果你有元件上的一個類來開始:

$('#foo').on('click', function() { 
    $(this).toggleClass('to_up to_down'); 
});​ 

是你所需要的。

演示:http://jsfiddle.net/kXNk8/

0

爲了得到想要的效果:

HTML:

<input id="btn" type="button" value="click it" /> 

<div class="box"> 
    <span>Tekst</span> 
</div> 

JS:

$(document).ready(function(){ 

    $("#btn").click(function(){ 
     $(".box").toggle(); 
    });  
});