2016-11-11 73 views
0

我試着去創造一個負責任的網站,在這裏我想告訴3盒:的Javascript(取決於屏幕尺寸隱藏和顯示)

(1日 - 2日 - 3日)

我想它看屏幕較小然後436px和桌面 See Image

我想這是負責任的,所以當我調整我的瀏覽器,它應該跳到屏幕較小然後436px和調整回其在桌面上的時候。

重要提示:在桌面上,這些框不應該可以隱藏內容。

我的代碼:jsfiddle.net/94sfkhcu/

希望有人可以提供幫助。謝謝:)

+0

@mathiasfk你會怎麼做呢? – Bel

+0

@mathiasfk 如果我用css隱藏它,當點擊它時如何讓它再次顯示? – Bel

+0

好吧,所以我想你所問的是與我第一次想到的不同的東西。菜單已經響應。你只是想確保在桌面佈局中不能隱藏內容。 – mathiasfk

回答

3

$(document).ready(function() { 
 
     if($(window).width()<436) 
 
     $('.bbottom2').hide(); 
 
     $('.btop').click(function(e) { 
 
     e.preventDefault(); 
 
     var $menuItem = $(this).next('.bbottom, .bbottom2'); 
 
     $menuItem.slideToggle(); 
 
     $menuItem.toggleClass("bbottom2"); 
 
     }); 
 
}); 
 
    
 
    
 
     $(window).resize(function() { 
 
     if($(window).width()>436) $('.bbottom, .bbottom2').show(); 
 
     else $('.bbottom2').hide(); 
 
     });
.ticket{ 
 
    margin:0; 
 
    padding:0; 
 
    float:left; 
 
} 
 

 
.btop2, .btop{ 
 
    background-color:grey; 
 
    color:white; 
 
    padding:5px 10px; 
 
    display:block; 
 
    width:100px; 
 
    border-bottom:1px solid; 
 
    pointer-events:none; 
 
} 
 

 
.btop:hover{ 
 
    background-color:darkgrey; 
 
} 
 

 
/*Responsive*/ 
 
@media screen and (max-width: 436px) { 
 

 
.ticket{ 
 
    margin:0; 
 
    padding:0; 
 
    float:none; 
 
} 
 

 
.btop{ 
 
    background-color:red; 
 
    pointer-events:auto; 
 
} 
 
    
 
    
 

 
.btop:hover{ 
 
    cursor:pointer; 
 
} 
 
    
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="ticket"> 
 
    <div class="btop">Day 1</div> 
 
    <div class="bbottom">Price 20</div> 
 
</div> 
 

 
<div class="ticket"> 
 
    <div class="btop">Day 2</div> 
 
    <div class="bbottom bbottom2">Price 99</div> 
 
</div> 
 

 
<div class="ticket"> 
 
    <div class="btop">Day 3</div> 
 
    <div class="bbottom bbottom2">Price 149</div> 
 
</div>

0

如果我理解正確的話,你需要什麼。調整窗口大小時,可以檢查窗口寬度是小於還是大於436px。然後,你可以做什麼,你想要什麼..

$(document).ready(function() { 
     $('.bbottom2').hide(); 
     $('.btop').click(function(e) { 
     e.preventDefault(); 
     var $menuItem = $(this).next('.bbottom, .bbottom2'); 
     $menuItem.slideToggle(); 
     }); 
     $(window).resize(function() { 
     if($(window).width()>436) $('.bbottom2').show(); 
     else $('.bbottom2').hide(); 
     }); 
}); 
+0

是的,這就是我想要的。但我缺少兩件事。 1.在桌面上時,我希望內容始終顯示。當我刷新桌面上的頁面時,它沒有顯示。但是當我開始調整瀏覽器大小時,它再次顯示。試試jfiddle吧。 2.在桌面上時,我希望類「btop」不可點擊。現在它擴大了bbottom,即時通訊在桌面上。 – Bel

+0

您好再次 我已經更新腳本。現在它的工作原理是我想要的。我只是缺少最後一件東西 類「btop」仍然可以在桌面上點擊。我希望它不可點擊。怎麼做? 這是我的代碼:http://jsfiddle.net/94sfkhcu/3/ – Bel