2017-10-13 100 views
-3

我有一個內容塊2個div,一個活動,另一個隱藏。2個div在同一塊顯示一個隱藏其他onclick和循環

我想單擊div,隱藏第一個並顯示第二個。

然後,當我點擊第二個隱藏它並顯示第一個。

然而,我有12個更多的塊與相同的estructure和類需要有此功能。

爲了記錄我還沒有使它工作,甚至沒有一個div。

<div class="feature-list-item"> 

<div class="first-one"> 
    <div class="imgbox"> 
     <p>some content<p/> 
    </div>         
</div> 

<div class="second-one"> 
    <div class="imgbox"> 
     <p>some content<p/> 
    </div>         
</div>       

這裏是CSS:

。首先,一個{顯示:塊;} 。第二,一個{顯示:無;}

我所要考慮的最簡單的方法jquery,javascript沒關係

+0

知道,但什麼樣的JavaScript/JQuery的你試過嗎? – zfrisch

+0

我沒有熟練的JavaScript所以沒有 – user2109326

+1

@ user2109326然後,你應該做一些研究和學習如何使用javascript/jQuery。這不是免費的寫作服務。如果你沒有時間研究/學習,那麼爲什麼其他人需要花時間爲你寫。 – NewToJS

回答

1

這裏是用分離的列表的一個例子:

$(document).ready(function(){ 
 
    $('.block').on('click', '.item', function(e){ 
 
    $(this) 
 
     \t \t .removeClass('active') 
 
     \t .siblings('.item') 
 
     .addClass('active');  
 
    }); 
 
});
.blue .item { 
 
    background: blue; 
 
} 
 

 
.green .item { 
 
    background: green; 
 
} 
 

 
.item { 
 
    padding: 10px; 
 
    margin: 10px; 
 
    color: white; 
 
    display: none; 
 
} 
 

 
.item.active { 
 
    display: block; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="block blue feature-list-item"> 
 
    <div class="item active first-one"> 
 
     <div class="imgbox"> 
 
     <p>Box 1<p/> 
 
     </div> 
 
    </div>         
 
    <div class="item second-one"> 
 
     <div class="imgbox"> 
 
     <p>Box 2<p/> 
 
     </div> 
 
    </div> 
 
</div> 
 

 
<div class="block green feature-list-item"> 
 
    <div class="item active first-one"> 
 
     <div class="imgbox"> 
 
     <p>Box 3<p/> 
 
     </div> 
 
    </div>         
 
    <div class="item second-one"> 
 
     <div class="imgbox"> 
 
     <p>Box 4<p/> 
 
     </div> 
 
    </div> 
 
</div>

+0

是的,你的方法是完美的!你說得對。我很感激。 – user2109326

+0

不客氣......只是要小心。這種方法只適用於每塊2個項目。 –

+0

幸運我我只需要在每個團體2項之間做到這一點 – user2109326

0

這是我找到的解決方案。隱藏點擊並顯示下一個。我希望你試圖展示下一個,但不是特定的一個,如果你試圖展示,那麼你會改變代碼。

DEMO HERE

HTML

<div class="click show"> 
    <div class="imgbox"> 
    <p>some content<p/> 
    </div>         
</div> 

<div class="click hidden"> 
    <div class="imgbox"> 
    <p>some content<p/> 
    </div>         
</div> 
<div class="click hidden"> 
    <div class="imgbox"> 
    <p>some content<p/> 
    </div>         
</div> 
<div class="click hidden"> 
    <div class="imgbox"> 
    <p>some content<p/> 
    </div>         
</div> 
<div class="click hidden"> 
    <div class="imgbox"> 
    <p>some content<p/> 
    </div>         
</div> 
<div class="click hidden"> 
    <div class="imgbox"> 
    <p>some content<p/> 
    </div>         
</div> 

CSS

.show{ 
    width:200px; 
    height:100px; 
    background-color:red; 
} 
.hidden{ 
    display:none; 
} 

JS

$(document).ready(function(){ 
    $('.click').click(function(){ 
    $(this).removeClass('show'); 
    $(this).addClass('hidden'); 
    $(this).next('.hidden').addClass('show'); 
    $(this).next('.hidden').removeClass('hidden'); 
    }); 
}); 
+0

是的,我需要顯示下一個div,並點擊隱藏它,並顯示以前 – user2109326

+0

檢查代碼段。 –

+0

是的,但我不需要向前移動每個div,它只是在2個div之間。顯示div 1,而div 2隱藏,當div 2可見時,div 1必須隱藏。 – user2109326

相關問題