2013-01-16 158 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