2012-04-09 53 views
0

這裏是代碼:http://jsfiddle.net/sxqwp/1/jQuery的結合切換與點擊

我的問題是,當我按下「關閉」,然後按「切換」什麼都不會發生,第二次點擊顯示文本後。當我點擊「切換」它隱藏文本,然後我點擊「打開」它顯示的文字,但是當再次點擊「切換」它仍然顯示等等。我怎樣才能解決這個

如果什麼這樣的事情?

http://jsfiddle.net/sxqwp/6/

$("a").toggle(
    function() { 
     $('p').animate({width: "200px"}); 
    }, 
    function() { 
    $('p').animate({width: "100px"}); 
    } 
); 


$("a.openA").click(function() { 
    $('p').stop().animate({width: "200px"}); 
}); 


$("a.closeA").click(function() { 
    $('p').stop().animate({width: "100px"}); 
}); 

回答

5

由不切換功能搞亂。 :) http://jsfiddle.net/sxqwp/2/

$("a").click(function() { 
    $('p').toggle(); 
}); 
+0

剛剛鍵入完全相同的答案+1 :) – 2012-04-09 21:39:15

+0

可能應該向切換鏈接添加一個(.toggle?)類 - 有點奇怪,任何標籤都會運行切換。 – mikevoermans 2012-04-09 21:40:23

4

或者您可以使用.toggleClass()方法:

.hide { 
    display: none; 
} 

$("a").click(function() { 
    $('p').toggleClass("hide"); 
}); 
0

嘗試這一個 -

HTML代碼:

<a href="#demo" class="nav-toggle">Toggle</a> 
<a href="#demo" class='nav-open'>Open</a> 
<a href="#demo" class='nav-close'>Close</a> 

<div id="demo" style="display:none;"> 
<p>Hello</p> 
<p>Good Bye</p> 
</div> 

jQuery腳本:

$(document).ready(function() { 
    $('.nav-toggle').click(function(){ 
    var content_toggle= $(this).attr('href');      
    $(content_toggle).slideToggle('slow'); 
}); 

    $('.nav-open').click(function(){ 
    var content_show = $(this).attr('href');      
    $(content_show).slideDown(); 
    }); 

    $('.nav-close').click(function(){ 
     var content_hide = $(this).attr('href');      
     $(content_hide).slideUp(); 
    }); 
}); 

視圖住如。 - http://jsfiddle.net/sxqwp/11/