0

我目前正在使用以下在网络教程中找到的代码来显示/隐藏 DIV。它工作得很好,但不喜欢这种效果。希望 DIV 改为淡入/淡出(或者更平滑,目前 DIV 从右上角开始增长)。我怎样才能调整代码来做到这一点?你可以在这里看到它http://jsfiddle.net/Grek/w4HWn/1/非常感谢

function showonlyone(thechosenone) {
     $('.textzone').each(function(index) {
          if ($(this).attr("id") == thechosenone) {
               $(this).show(2000);
          }
          else {
               $(this).hide(2000);
          }
     });
}
4

2 回答 2

5

只需更改.hide().fadeOut().show().fadeIn()

但是看看你的例子,你可以通过使用数据属性来简单得多。

看看这个例子

您可能需要绝对定位或其他一些技术,因为两个 div 在淡入和淡出时会堆叠起来。

于 2012-08-12T20:48:30.750 回答
1

可以使用fadeInandfadeOut方法,也可以缩小代码,试试下面的:

function showonlyone(thechosenone) {
     $('.textzone').fadeOut();
     $('#'+thechosenone).fadeIn();
}


当您使用 jQuery 时,您可以使用 jQueryclick处理程序:

HTML:

<div class="source-title-box"><span class="activity-title"><a href="#source-region">Our region</a></span></div>
<div class="source-title-box"><span class="activity-title"><a href="#source-oursource">Our source</a></span></div>

jQuery:

$('.activity-title a').click(function(e){
    e.preventDefault()
     var thechosenone = $(this).attr('href');
    $('.textzone').fadeOut(600, function(){
         $(thechosenone).fadeIn(600);
    });   
})

演示

于 2012-08-12T20:56:45.317 回答