2017-01-05 14 views
0

私はすべてを試みましたが、成功しませんでした。 誰かが右の画面をスクロールしているときにそれを行おうとしていると、ページ全体ではなくスクロールします。 これは私のコードです:ページ全体ではなくdivだけをスクロールしようとしています

HTML:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<div class="content-container"> 
    <div class="content"> 
    <div>text</div> 
<div>text</div> 
<div>text</div> 
<button id="button"> 
Click me 
</button> 
    </div> 
    </div> 
<div class="new-content"> 
<p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p> 
    </div> 

CSS:

.content { 
    position: absolute; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%); 
    text-align: center; 
    width: 100%; 
} 
.content-container { 
    height: 100vh; 
    display: block; 
    background: #ddd; 
    float: left; 
    width: 100%; 
    position: relative; 
} 
.new-content { 
    display: none; 
    overflow: auto; 
    float: left; 
    width: 0; 
    height: auto; 
    background: #f60; 
} 
.new-content.half, 
.content-container.half { 
    width: 50%; 
} 

JS:

$('#button').click(function(){ 
    $('.new-content').toggleClass('half').delay(600).fadeIn(100); 
    $('.content-container').toggleClass('half'); 
}); 

** heightを012vの代わりに100vhにすると、それは修正されますが、この部分の高さは正確ではないので、自動的にする必要があります)100VH以上になります* フィドル:https://jsfiddle.net/adf4uu31/1/

+0

どのようにそれはあなたがそれをスクロールしたいと今でもダイナミックな高さを持っているということでしょうか? –

答えて

0

私が正しく理解していれば、あなたが右のペインには、それをスクロールしたいんCSS

+0

私はそれを試しました、それは私に今スクロールするオプションを与えません。そして、100%スクリーンの下にある項目は表示されません –

+0

私は示唆した調整を行った後、フィドルスクリプトを実行することを忘れないでください(ページ上に左上にあります)...私は元のフィドルスクリプト...変更してから「実行」を左に押してから試してみてください...スクロールするときに動いているのは唯一のものですが、オレンジ色のペイントには注意を払いますが、これは灰色のペインです... –

0

position : fixedcontent-containerを設定し、float :rightnew-contentを設定巨大にならないリストが短くても、固定値を与えたくない場合もあります。あなたは100vh

.new-content { 
    max-height: 100vh; 
} 
+0

まあ、私は私の質問に書いた......... **私は高さを100vhにすることを知っていることに注意してください。新しい内容ではなく新しい内容が修正されますが、わかりません正確にはこの部分の高さであり、それで私はそれをautoにする必要があります(それは100vh以上になります)。* –

+0

高さ属性を参照しているので固定高さを意味していると思われますが、max-heightは固定高さではなくむしろ固定値。 私には、あなたが達成したいことが本当にはっきりしていない、多分あなたはもう少しそれを説明しようとすることができますか? おそらく、フレックスボックスを使用すると助けになるかもしれませんが、それはあなたのためのオプションですか? –

0

コンテナの高さが固定されていない場合、div要素の高さがコンテンツの拡大に応じて増加するため、スクロールバーが表示されなくなります。したがって、スクロールバーとのやりとりのための高さを固定する必要があります。

$(document).ready(function(){ 
 
$('#button').click(function(){ 
 
    $('.new-content').css({'height' : '100vh' }).toggleClass('half').delay(600).fadeIn(100); 
 
    $('.content-container').toggleClass('half'); 
 
}); 
 
});
.content { 
 
    position: absolute; 
 
    top: 50%; 
 
    left: 50%; 
 
    transform: translate(-50%, -50%); 
 
    text-align: center; 
 
    width: 100%; 
 
} 
 
.content-container { 
 
    height: 100vh; 
 
    display: block; 
 
    background: #ddd; 
 
    float: left; 
 
    width: 100%; 
 
    position: relative; 
 
    overflow : auto; 
 
} 
 
.new-content { 
 
    display: none; 
 
    overflow: auto; 
 
    float: left; 
 
    width: 0; 
 
    height: auto; 
 
    background: #f60; 
 
} 
 
.new-content.half, 
 
.content-container.half { 
 
    width: 50%; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="content-container"> 
 
    <div class="content"> 
 
    <div>text</div> 
 
<div>text</div> 
 
<div>text</div> 
 
<button id="button"> 
 
Click me 
 
</button> 
 
    </div> 
 
    </div> 
 
<div class="new-content"> 
 
<p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p> 
 
    </div>

関連する問題