2013-11-27 78 views
0

我有一個鏈接,當該鏈接,然後點擊崩潰的div顯示隱藏的div content.But問題是下一次點擊,我需要關閉的股利。無法使用Javascript

這是我隱藏DIV

<div id="divHiddenContainer" style="display: none;"> 
<div id="divItem1"> <span"> 
</span></div> 

這裏是鏈接

<a href="#1" class="aItemLnk" id="a1">Read More</a> 

下面是使用Javascript

<script type="text/javascript"> 
$(".aItemLnk").click(function() { 
    var id = $(this).attr("id").replace(/^.(\s+)?/, ""); 
    var contentTobeLoaded = $("#divItem" + id).html(); 

    $('#ajax').html(contentTobeLoaded).fadeIn(100000, function() { 
    }); 
}); 

回答

1

這是我做我的。

的Javascript

<script type="text/javascript"> 
$(function() { 
      $('.dragbox') 
      .each(function() { 
       $(this).hover(function() { 
        $(this).find('h2').addClass('collapse'); 
       }, function() { 
        $(this).find('h2').removeClass('collapse'); 
       }) 
       .find('h2').hover(function() { 
        $(this).find('.configure').css('visibility', 'visible'); 
       }, function() { 
        $(this).find('.configure').css('visibility', 'hidden'); 
       }) 
       .click(function() { 
        $(this).siblings('.dragbox-content').toggle(); 
       }) 
       .end() 
       .find('.configure').css('visibility', 'hidden'); 
      }); 
</script> 

HTML

<div class="dragbox" id="Widget2" runat="server"> 
      <h2 style="font-size: 14pt">Heading Goes Here</h2> 
      <div class="dragbox-content"> 
       //Information Here 
      </div> 
     </div> 

所以,當你點擊標題(H2),它隱藏,當你再次點擊它,它是可見的。你還需要一些CSS ..這是我的。

CSS

.column{ 
    width:49%; 
    margin-right:.5%; 
    min-height:300px; 
    background:#e2e2e2; 
    float:left; 
} 
.column .dragbox{ 
    margin:5px 2px 20px; 
    background:#fff; 
    position:relative; 
    border:1px solid #ddd; 
    -moz-border-radius:5px; 
    -webkit-border-radius:5px; 
} 
.column .dragbox h2{ 
    margin:0; 
    font-size:12px; 
    padding:5px; 
    background:#f0f0f0; 
    color:#000; 
    border-bottom:1px solid #eee; 
    font-family:Verdana; 
    cursor:move; 
} 
.dragbox-content{ 
    background:#fff; 
    min-height:100px; margin:5px; 
    font-family:'Lucida Grande', Verdana; font-size:0.8em; line-height:1.5em; 
} 
.column .placeholder{ 
    background: #f0f0f0; 
    border:1px dashed #ddd; 
} 
.dragbox h2.collapse{ 
    background:#f0f0f0 url("../Images/collapse.png") no-repeat top right; 
} 
.dragbox h2 .configure{ 
    font-size:11px; font-weight:normal; 
    margin-right:30px; float:right; 
} 

我用的是 'dragbox' 在排序的jQuery也是如此。所以你可以說,你會不會需要.columns,但我發現他們只是櫃面你走這條路線,並想用div的欄目。如果你這樣做,所有你需要做的就是添加

<div class="column" id="column1" runat="server"> 
</div> 

然後將'dragbox'放在裏面。你可以有這些「列」

希望這有助於爲2。

1

您需要的條件(如,否則)當調用fadeIn時div是隱藏的,當顯示div時fadeOut!

因爲你的代碼只能調用淡入所以第一次,就會淡入和下調用它還將淡入,所以它會呆在那裏。

我不知道在JQuery中,但是這就是我如何做到這一點在JavaScript知道是否被顯示或隱藏在div:

if(div.style.display == 'block') { 
} 
    //call fadeOut 
else { 
    //call fadeIn 
} 
+0

實際上不是在淡出,我只是想隱藏div..How獲得第二點擊? – TechGuy

+0

你是什麼意思?如果DIV是隱藏你想顯示它,如果它的存在,你要躲呢?而你第二次點擊是什麼意思?如果您在if,elseif中調用fadeIn fadeOut,則不需要擔心它。 – Shryme

+0

如果你想隱藏它沒有淡出你可以做div.style.display ='無';如果這是你的問題。 – Shryme

1

只需使用fadeToggle代替:

$(".aItemLnk").click(function() { 
    var id = $(this).attr("id").replace(/^.(\s+)?/, ""); 
    var contentTobeLoaded = $("#divItem" + id).html(); 

    $('#ajax').html(contentTobeLoaded).fadeToggle(100000, function() { 
    }); 
}); 
1

可以使用肘法的超鏈接的點擊事件中所需的div。

我已經在這個撥弄了的一個例子給你> jsfiddle.net/MK68L

希望它可以幫助