2012-01-25 18 views
0

我使用下面的代码来展开/折叠的链接更改链接名称和图像时,当文本扩展切换jQuery的扩展

我需要的链接名称更改为“隐藏”的点击一些文本,有不同的图像(即arrow_up.png)。

我该怎么做?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    var $divView = $('div.view'); 
    var innerHeight = $divView.removeClass('view').height(); 
    $divView.addClass('view'); 

    $('div.slide').click(function() { 
     $('div.view').animate({ 
      height: (($divView.height() == 90)? innerHeight : "90px") 
     }, 500); 
     return false; 
    }); 
}); 
</script> 
<div class="view"> 
    <ul class="moduleItemExtraFields"> 
     <li>text here</li> 
     <li>text here</li> 
     <li>text here</li> 
     <li>text here</li> 
     <li>text here</li> 
     <li>text here</li> 
     <li>text here</li> 
     <li>text here</li> 
     <li>text here</li> 
    </ul> 
</div> 
<div class="slide">Show <img src="images/arrow_down.png" /></div> 

回答

1
<script type="text/javascript"> 

    //... 

    $('div.slide').click(function() { 

     // Update the HTML in this element 
     var slideHtml = $(this).html(); 

     // Switch between show/hide 
     if (slideHtml.localeCompare('Show <img src="images/arrow_up.png" />') < 0) 
      $(this).html('Show <img src="images/arrow_up.png" />'); 
     else 
      $(this).html('Hide <img src="images/arrow_down.png" />'); 

     $('div.view').animate({ 
      height: (($divView.height() == 90)? innerHeight : "90px") 
     }, 500); 
     return false; 
    }); 

    //... 
</script> 
+0

当链路再次点击? – FlabbyRabbit

+0

谢谢......这很好 - 除了当我崩溃它 - 它仍然显示'隐藏' – user991830

+0

当我扩大,它的伟大。但是当我碰撞时,它保持在$(this).html('Show ');有什么想法吗? – user991830

0

我会添加/删除类的div.slide检查它是否扩大或倒塌。

DEMO这里

$('div.slide').addClass('expanded'); 

    $('div.slide').click(function() { 

    if ($(this).hasClass('collapsed')) { 
     $('div.view').animate({ //expand 
      height: (($divView.outerHeight() == 90) ? innerHeight : "90px") 
     }, 500, function() { 
     $divSlide.removeClass('collapsed').addClass('expanded'); 

     $divSlide.html ('Hide <img src="http://www.auto123.com/site/img/used/up_arrow.gif" />'); 
     });    

    } else { 
     $('div.view').animate({ 
      height: '0px' 
     }, 500, function() { 
     $divSlide.removeClass('expanded').addClass('collapsed'); 

     $divSlide.html ('Show <img src="http://listedmag.com/images/down_arrow.gif" />');    

     }); //collapse 
    }