2017-08-23 135 views
0

嗯,我已經接近48小時了,現在正試圖爲明天下午需要啓動並運行的某個人完成一個站點。我比我能在這裏肯定地咀嚼他們所要求的東西,以及我能用我現在得到的技能(我得到的東西我學會了什麼)做什麼。如何滑動div,同時滑動一個關閉,你點擊?

讓我們來看看,如果我可以這樣解釋:

  1. 有在屏幕上兩個橫幅廣告圖片,每個有更多的內容暴露。

  2. 如果用戶點擊橫幅,它應該向上滑動以關閉。它下面的框向下滑動打開更多內容。

  3. 如果另一個橫幅被點擊,它會經歷相同的過程,但已經打開的橫幅應該滑動關閉,並且原始橫幅滑動打開,使其恢復到原始狀態。

到目前爲止,我所得到的只是一個點擊,如果點擊它,就會打開橫幅下面的框。如果另一個橫幅被點擊,則會關閉並顯示橫幅信息。

不知道問我猜,但認爲我會問現在,而進一步因爲上帝知道我會卡住。

$(function() { 
 
    $('.pp-post-item').on('click', function() { 
 
    let postFullId = jQuery(this).attr('id'); 
 
    let postNumId = postFullId.slice(13); 
 
    $('.pp-post-container').not('.element-invisible').addClass('element-invisible'); 
 
    $('#pp-post-container-' + postNumId).removeClass('element-invisible'); 
 
    }); 
 
});
.pp-post { 
 
    color: #ffffff; 
 
    background-color: #3f3f3f; 
 
    margin: 0px; 
 
    padding: 0px; 
 
    max-width: 100%; 
 
    position: relative; 
 
} 
 

 
.pp-post-item { 
 
    position: relative; 
 
    width: 100%; 
 
} 
 

 
.pp-post-container { 
 
    overflow: hidden; 
 
} 
 

 

 
/* initially hide divs on page load */ 
 

 
.element-invisible { 
 
    position: absolute !important; 
 
    height: 1px; 
 
    width: 1px; 
 
    overflow: hidden; 
 
    clip: rect(1px 1px 1px 1px); 
 
    /* IE6, IE7 */ 
 
    clip: rect(1px, 1px, 1px, 1px); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="pp-post-1" class="pp-post"> 
 
    <div id="pp-post-item-1" class="pp-post-item"> 
 
    ... 
 
    </div> 
 
</div> 
 
<div id="pp-post-container-1" class="pp-post-container element-invisible"> 
 
    ... 
 
</div> 
 
<div id="pp-post-2" class="pp-post"> 
 
    <div id="pp-post-item-2" class="pp-post-item"> 
 
    ... 
 
    </div> 
 
</div> 
 
<div id="pp-post-container-2" class="pp-post-container element-invisible"> 
 
    ... 
 
</div>

+0

橫幅廣告是如何定位?兩個橫幅是水平對齊的? – SilentCoder

+0

他們是全寬,垂直排列。如果我添加和刪除這些類將所有我需要的是CSS轉換? tyring,但不爲我工作。 – gcollins

+0

那麼我可以得到它與轉換sorta,但我必須明確設置一個高度。問題是我不知道這些內容有多大。 – gcollins

回答

0

您正在尋找這樣的解決方案?根據我對你的問題的理解,我創建了這個基礎。

$(document).ready(function() { 
 
$('.bottom-layer').hide(); 
 
    
 
    
 
$('#banner-one,#banner-two').click(function(){ 
 
     $(this).find('.top-layer').slideToggle("slow"); 
 
     $(this).find('.bottom-layer').slideToggle("slow"); 
 
}) 
 
    
 
    
 

 

 
});
#banner-container{ 
 
    max-width:600px; 
 
    min-height:300px; 
 
    overflow:hidden; 
 
    background-color:#eee; 
 
    display:inline-block; 
 
} 
 

 
#banner-one{ 
 
    min-width:600px; 
 
    min-height:150px; 
 
    background-color:orange; 
 
    cursor:pointer; 
 

 
    
 
} 
 
#banner-two{ 
 
    min-width:600px; 
 
    min-height:150px; 
 
    background-color:red; 
 
    cursor:pointer; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div id="banner-container"> 
 
    <div id=banner-one> 
 
     <div class="top-layer">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.</div> 
 
     <div class="bottom-layer">Inside content</div> 
 
    </div> 
 

 
    <div id=banner-two> 
 
    <div class="top-layer">Top Content</div> 
 
     <div class="bottom-layer">Inside content</div> 
 
    </div> 
 
</div>

0

我的解決辦法打開被點擊的標題下一個DIV,並關閉所有其他的div。

$(document).ready(function() { 
 
    $('.toggle').on('click', function() { 
 
    if ($(this).hasClass('closed')) { 
 
     $('h3').removeClass('open'); 
 
     $(this).removeClass('closed'); 
 
     $(this).addClass('open'); 
 
     $('.toggle-content').hide(); 
 
     $(this).next('.toggle-content').show(); 
 
    } else { 
 
     $(this).removeClass('open'); 
 
     $(this).addClass('closed'); 
 
     $(this).next('.toggle-content').hide(); 
 
    } 
 
    }); 
 
});
h3 { 
 
    background-color: #eee; 
 
    color: #000; 
 
} 
 

 
.toggle-content { 
 
    display: none; 
 
    /* if you want content divs open by default, change to display: block*/ 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
    <h3 class="closed toggle">title 1</h3> 
 
    <div class="toggle-content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. In et urna libero. Nullam scelerisque pellentesque porttitor. Ut aliquam malesuada enim, porttitor sodales nisl faucibus eu. Etiam non ex orci. Vestibulum augue mauris, pharetra cursus urna dapibus, 
 
    ullamcorper fermentum nibh. Nullam tincidunt ante sed arcu mollis volutpat. Sed non fringilla eros. Nullam tortor diam, volutpat at ex aliquam, viverra posuere ante. Integer vehicula lacus nisl, in imperdiet lectus condimentum eu. 
 
    </div> 
 
    <h3 class="closed toggle">title 1</h3> 
 
    <div class="toggle-content"> 
 
    Vestibulum suscipit laoreet est et faucibus. Pellentesque accumsan magna fermentum mauris sagittis, vel lobortis ante euismod. Nam luctus luctus neque non elementum. In hac habitasse platea dictumst. Donec vel augue eu est volutpat tincidunt porttitor 
 
    id justo. Sed sit amet quam dui. Fusce eget congue ipsum, nec finibus ex. Aliquam vestibulum eget diam at consequat. Morbi vitae neque auctor, posuere velit pharetra, sodales risus. Maecenas eget sodales odio. Etiam faucibus urna eu ligula fringilla 
 
    interdum. Donec pulvinar, enim eget cursus dignissim, dui dolor facilisis felis, varius porta libero urna ac odio. In risus ligula, fringilla sit amet mattis dapibus, elementum eget sapien. Sed vulputate neque nec libero efficitur, a tincidunt nunc 
 
    pulvinar. Donec vehicula malesuada turpis, vel pulvinar massa accumsan eu. 
 
    </div> 
 
</div>