2013-10-07 82 views
0

我需要你的幫助。我正在嘗試添加一些動畫來點擊事件。我可以很容易地用切換,但我的問題是,我有2個不同的名稱和樣式的按鈕,我需要當點擊其他節目和按鈕點擊隱藏。這裏是我的代碼,這樣就可以更好地理解它:jQuery切換不同的鏈接

我的標記是隻有2個鏈接:

<a href="#" class="show-more"><?php print t('Show more'); ?></a> 
<a href="#" class="show-less"><?php print t('Show less'); ?></a> 

誰能幫助我在這?我需要幫助把這個工作與動畫(如jQuery切換是好的)和性能的建議。提前致謝。

UPDATE

http://jsfiddle.net/jYnnc/

新的更新

我找到一種方法來複制我所需要的,這裏是代碼:

$('.user-profile .resume p').each(function() { 
    var $obj = $(this); 
    var height = $obj.height(); 
    var maxHeight = 40; 

    if (height > 40) { 
     $obj.css('height', maxHeight).css('overflow', 'hidden'); 
     $obj.siblings('.show-more').show(); 
    } 

    $obj.siblings('.show-more').click(function(e) { 
     e.preventDefault(); 
     $obj.animate({ 
      'height' : height 
     }, function() { 
      $obj.siblings('.show-more').hide(); 
      $obj.siblings('.show-less').show(); 
     }); 
    }); 

    $obj.siblings('.show-less').click(function(e) { 
     e.preventDefault(); 
     $obj.animate({ 
      'height' : maxHeight 
     }, function() { 
      $obj.siblings('.show-more').show(); 
      $obj.siblings('.show-less').hide(); 
     }); 
    }); 
}); 

這裏是一個fiddle與這最後的代碼。

任何人都可以幫助我改進此代碼嗎?非常感謝。

+1

你能在小提琴發佈工作的例子,你的問題犯規使問題清晰。我的猜測是,最好有一個按鈕,並根據相關的div是否可見/隱藏來改變功能。 –

+0

發佈您的HTML或創建[fiddle](http://jsfiddle.net)。 –

+0

感謝您的回答,我用jsfiddle更新了最初的帖子。 – Mambley

回答

0

如果你的問題是關於如何顯示一個與一些動畫第二點擊時, 這可能是您的解決方案:

小提琴:http://jsfiddle.net/sky8V/

希望我幫助:)

JS

$('.show-more').click(function(){ 
    $('.show-more').hide('slow', function(){ 
     $('.show-less').show('slow') 
    }); 
}); 

$('.show-less').click(function(){ 
    $('.show-less').hide('slow', function(){ 
     $('.show-more').show('slow') 
    }); 
}); 

CSS

.show-less { display: none; } 

HTML

<a href="#" class="show-more">Show more</a> 
<a href="#" class="show-less">Show less</a> 
+0

Hi @ jave.web感謝您的幫助,不是我不需要的,我不需要按鈕來隱藏/顯示動畫,動畫應該放在內容(p)而不是按鈕/鏈接上。也許我的問題不是很清楚。 – Mambley