2013-05-15 66 views
2

晚報女士們,先生們,問題與第二點擊之後,從第一次點擊(函數())移除屬性(函數())

我有點鹹菜想的是找出如何刪除在第二次點擊功能發生之後來自第一點擊功能的屬性。

<script type="text/javascript"> 
$(document).ready(function(){ 

$('.description').hide(); 

$('.open').click(function(){ 
    $(this).attr('id', 'active'); 
    $('.description').hide(); 
    var section = $(this).attr('rel'); 
    $(section).slideToggle('fast'); 
}); 

$('.close').click(function(){ 
    $(this).parents('.description').slideUp('fast'); 
    $('.open').removeAttr('id', 'active'); 
}); 
}); 
</script> 

我的意思是,雖然我有我的隱藏DIV關閉按鈕一旦被點擊的正常工作(即它會從。開類屬性),我不能如果隱藏的DIV通過單擊然後點擊下一個點擊功能關閉,請看它的工作。

我可能真的不解釋自己很好,所以或許一個例子是比較容易:

Click Function Issues Here

我只創建的DIV前兩個菜單項(出納&德利),所以這些是我將要使用的兩個例子。如果您點擊收銀臺項目,則會出現隱藏的DIV,如果您在該DIV上按下「CLOSE」(右對齊),則活動狀態會在第一個菜單項上消失。大。這樣可行。

但是,如果我決定不通過「關閉」鏈接關閉隱藏的DIV,而是通過單擊下一個菜單項(熟食店),收銀員和熟食菜單項保持活動狀態。再次,我的問題是,當第二個菜單項上的第二次點擊功能發生時,我是否可以以某種方式將其刪除。

非常感謝!

+0

爲什麼你要刪除的屬性第一名 –

+0

因爲我不想菜單項保持活動 - 即。保持綠色,你可以看到在網站上的例子。 – Connie

+0

最好是使用類而不是..只需使用addClass和removeClass,它應該工作正常 –

回答

0

您正在遵循一個非常糟糕的方法,通過刪除id屬性,因爲您可以非常輕鬆地執行相同的任務。

我也看到你正在使用的精靈,你必須在適當位置相關的圖片吧..

因此,嘗試這種方法..

$('.description').hide(); 

$('.open').click(function(){ 
    var $this = $(this); 
    $('.description').hide(); 
    $this.addClass('active'); 
    // Select all the open tags 
    var $tags = $('.open').not($this); 
    // Remove the active class for all the items except the clicked open 
    $tags.removeClass('active'); 

    var section = $(this).attr('rel'); 
    $(section).slideToggle('fast'); 
}); 

$('.close').click(function(){ 
    $(this).closest('.description').slideUp('fast'); 
    $('.open').removeClass('active'); 
}); 
+0

減少事實,你忘了添加後點擊(功能()),這個作品!非常感謝!我是一個全新的jQuery,但我慢慢地,但肯定知道感謝像你這樣的人。謝謝! :) – Connie

+0

不客氣:) –

+0

嘿嘿@Sushanth。可能還有一個問題,如果你不介意幫助!所以這個腳本可以正常工作,但是如果你現在看一下這個站點:[再次提到問題:()(http://preview-site-7cc834.ttcportals.com/pages/about-us/),一旦主動類已經被激活,就好像原來的灰色圖像正在顯示 - 即圖像看起來有點粒狀,而不像當你只是懸停在圖像上時,有什麼辦法可以解決這個問題?可能在CSS中,但我不認爲這可以通過CSS ...只有jQuery? – Connie

相關問題