2011-07-07 37 views
0

我在這裏有一些關於顯示和隱藏div的幫助,下面的代碼已經被創建爲一個結果,這很好,唯一的問題是當我單擊類的鏈接.closepanel幻燈片動畫不起作用,例如,它關閉時不應用動畫......似乎很奇怪的收盤動畫還適用於點擊其他地方...jQuery動畫未申請鏈接?

特別是作爲它的股票,以作爲效果基本show,工程的一個功能...

$(document).ready(function(){ 
$('#panel').click(function(e) { 
    e.stopPropagation(); 
    });  
    $(".panel-tab").click(function(e) { 
    $("#panel").slideDown("slow"); 
    e.stopPropagation(); 
    }); 
    $(document,'.closepanel').click(function() { 
     $("#panel").slideUp("slow"); 
    }); 
}) 

回答

1

現在我可能記錯了。但是我認爲如果你用JQuery的參數限制你的搜索,那麼這個參數應該是第二個的參數。但是,由於您使用文檔您實際上並不是非常限制它。

所以,要麼這些或許應該工作

$('.closepanel').click(function() { 
     $("#panel").slideUp("slow"); 
    }); 

,或者如果你真的想引用文件

$('.closepanel', document).click(function() { 
     $("#panel").slideUp("slow"); 
    }); 
+0

謝謝你的帖子,這是行不通的,我很害怕。仍然是相同的動畫。 – CodeyMonkey

+0

因此,當**。closepanel **被點擊時,**#closepanel **不會向上滑動? **#closepanel **位於哪裏?如果你的點擊事件存在於另一個包含函數或事件列表器的元素中,它實際上可能會觸發另一個函數或事件。 – inquam

+0

我試過.closepanel(關閉#panel的鏈接) - 無論是內部還是外部#panel,但要利用...由於我原來的代碼站立,你可以點擊#anel以外的任何地方關閉它,但我也想#panel中的.closepanel鏈接可以用這種方式關閉它。 - 但是在這樣做的時候,點擊.closepanel時,滑動動畫不起作用,它只是將其關閉。 – CodeyMonkey

1

在選擇你的參數列表周圍這個錯誤的方式line:

$(document,'.closepanel') 

上下文a rgument應該是第二:

$('.closepanel', document) 

這將選擇的document的上下文中有類closepanel元素。

有關上下文參數的更多詳細信息,請參閱:http://api.jquery.com/jQuery/


更新: 要選擇一切,但.closepanel使用:

$(document).Remove('.closepanel') 

$('*:not(.closepanel)') 

然後綁定你的事件處理程序。

見:http://api.jquery.com/remove/http://api.jquery.com/not-selector/更多信息


更新2:

如果你想建立一個收集綁定的是滑動面板了處理程序,您可以:

您還可以使用one()http://api.jquery.com/one/到處理程序綁定到事件只運行一次,以防止效果基本show的副作用()在面板未顯示時被調用。

+0

我擔心導致「點擊任何地方」的功能不工作,並且.closepanel仍然關閉 – CodeyMonkey

+0

嗨,感謝這麼快速的迴應,情景是:我有一個滑動菜單,當用戶點擊任何地方時關閉在盒子外面,但我也希望在放置的面板內有一個「closepanel」按鈕,以便它們可以以這種方式關閉它......但是,當您單擊此按鈕時向上滾動動畫不會滾動......它只是直接閉合離開.....有什麼想法嗎? – CodeyMonkey

+0

更新2: - 謝謝,正如我在我的代碼中顯示的那樣,我嘗試了多個選擇器......在某個地方必定有一個奇怪的衝突,或者我將不得不接受關閉(儘管我並不真正想) - 因爲我不認爲這是可能的。 – CodeyMonkey