2013-01-16 163 views
1

例子:(werkwijze是定制的,我也有类似 - 接触其他名称相同的代码)点击链接隐藏所有其他内容的div

$(function() { 
     $('#activator-werkwijze').click(function(){ 
      $('#overlay-werkwijze').fadeIn('fast',function(){ 
       $('#box-werkwijze').animate({'bottom':'0px'},800); 
      }); 
     }); 
     $('#boxclose-werkwijze').click(function(){ 
      $('#box-werkwijze').animate({'bottom':'-600px'},800,function(){ 
       $('#overlay-werkwijze').fadeOut('fast'); 
      }); 
     }); 
    }); 

激活显示的内容,boxclose关闭的内容。 点击激活所有打开的所有内容,同时它需要只有一个打开和关闭其他..

编辑得到它固定: 这是工作的脚本,(覆盖没用)jsfiddle.net/8y7Sr/126/

回答

1

您需要提供有关如何调用弹出脚本的更多信息。如果您在使用jQuery,你可以关闭所有,然后打开一个

$('.className').slideDown(200); 
$('#specificItem').slideUp(200); 

但同样,你应该解释一下,你是怎么做的呼吁进行更详细的一个更好的答案

+0

我只是把再看看,你必须在你的代码中的根本缺陷。您在DOM中多次使用id属性。这是非法的,会导致错误。解决这个问题,而不是使用id来选择元素,使用jquery导航dom树来选择打开或关闭的元素。使用http://api.jquery.com/category/traversing/tree-traversal/和您的问题将得到解决 – illathruz

0

例如,把里面的功能jQuery

if($('。hide')。css('display')=='block'){$('。hide')。slideUp(); } else {$('。hide')。slideDown(); }

0
$(function() { 
    $('.activator').each(function(){ 
     $(this).click(function(){ 
      showHideAnimation(clickedObj); 
     }); 
    }); 
} 

function showHideAnimation(clickedObj) 
{ 
    $('.activator').each(function(){ 
     if($(this).id == clickedObj.id) { 
      $(this).fadeIn('fast',function(){ 
       $(this).animate({'bottom':'0px'},800); 
      }); 
     } else { 
      $(this).animate({'bottom':'-600px'},800,function(){ 
       $(this).fadeOut('fast'); 
      }); 
     } 
    } 
} 

请试试这个,如果它不能正常工作,然后更换$(本)只有这个

+0

我没有看到您的脚本#box-werkwijze被打开。我不是一个编码器 – fourroses