2016-11-11 27 views
0

Imは私が3つのボックスを表示したい応答のウェブサイト、作成しようとしている:のJavascript(画面サイズに応じて非表示と表示)

(1日目 - 3日目 - 2日目)私はそれ欲しい

を436pxとデスクトップより小さい画面で見る See Image

私はそれが責任を負うことを望みます、私は私のブラウザのサイズを変更すると、それは436pxより小さい画面にジャンプし、デスクトップ上にあるときにサイズを戻す必要があります。

重要:デスクトップの場合、ボックスはコンテンツを非表示にすべきではありません。

MY CODE: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

はい、それは私が欲しいものです。しかし、私はもう2つのことがありません。 1.デスクトップ上にあるときは、常にそのコンテンツを見せてください。デスクトップ上のページを更新すると、そのページは表示されません。しかし、ブラウザのサイズを変更すると、再び表示されます。 jfiddleで試してみてください。 2.デスクトップ上では、クラス「btop」をクリックできないようにします。今すぐデスクトップの上に、bbottomを拡大しています。 – Bel

+0

こんにちは、もう一度 私はスクリプトを更新しました。今、私はそれが欲しいと思っています。 Im最後のものが1つだけ欠けている "btop"クラスはデスクトップ上でもクリック可能です。私はそれがクリック可能でないことを望む。実行する方法? ここに私のコードです:http://jsfiddle.net/94sfkhcu/3/ – Bel

関連する問題