だから私はウェブサイトを作ろうとしていて、何かをクリックした後に表示されるポップアップウィンドウ/ボックス DIV を持っています。このポップアップ DIV にはテキスト/コンテンツが含まれています。私の Web サイトの設計に従って、「場所」と名付けましょう。この Locations Popup DIV の高さと幅は固定されているため、下にスクロールしてテキストを読むために作成した垂直スクロール バーがあります。このポップアップにさらにコンテンツを追加したいのですが、残念ながらテキストが途切れており、スクロールが下にスクロールし続けません。DIV のマージン/パディングにかなり大きな値を設定して、これが非常に長いページ長で機能するようにしましたが、非常に非効率的で貧弱なプログラミングです。
JavaScript または CSS を使用して、div のスタイルを HTML ドキュメント全体の高さ (ここでは動的な変更要因) に設定して、これをインテリジェントかつ適切に行うにはどうすればよいですか? これを手動で行う必要はありません。選択した場合、HTML ドキュメントが長くなればなるほど、常に戻って CSS のマージン/パディング値を変更するか、JavaScript に何かを行う必要があります。
以下はそのための CSS です。
/* Pop Up */
#popupAbout, #popupLocations, #popupContact, #popupBlog {
height: 600px;
width: 900px;
overflow: scroll;
background-color: rgba(0, 0, 0, 0.75);
border: 2px solid #cecece;
z-index: 15;
padding: 20px;
color: #FFF;
-webkit-box-shadow: 0px 0px 4px #000 inset;
-moz-box-shadow: 0px 0px 4px #000 inset;
box-shadow: 0px 0px 4px #000 inset;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
-o-border-radius: 10px;
-ms-border-radius: 10px;
-khtml-border-radius: 10px;
border-radius: 10px;
margin-top: -50px;
visibility: hidden;
}
#popupAbout p, #popupLocations p, #popupContact p, #popupBlog p {
padding-left: 10px;
font-size: 18px;
line-height: 20px;
}
#popupAbout h1, #popupLocations h1, #popupContact h1, #popupBlog h1 {
text-align: left;
font-size: 30px;
letter-spacing: 1px;
border-bottom: 1px dotted #D3D3D3;
padding-bottom: 2px;
margin-bottom: 20px;
}
#popupAboutClose, #popupLocationsClose, #popupContactClose, #popupBlogClose {
right: 6px;
top: 6px;
position: absolute;
display: block;
}
そして適切な JavaScript:
//Locations Page Pop Up
var popupLocationsStatus = 0;
function loadPopupLocations(){
if(popupLocationsStatus==0){
$("#popupLocations").fadeIn("slow");
popupLocationsStatus = 1;
}
}
function disablePopupLocations(){
if(popupLocationsStatus==1){
$("#popupLocations").fadeOut("slow");
popupLocationsStatus = 0;
}
}
function centerPopupLocations(){
var windowWidth = document.documentElement.clientWidth;
var windowHeight = document.documentElement.clientHeight;
var popupLocationsHeight = $("#popupLocations").height();
var popupLocationsWidth = $("#popupLocations").width();
$("#popupLocations").css({
"position": "absolute",
"top": windowHeight/2-popupLocationsHeight/2,
"left": windowWidth/2-popupLocationsWidth/2
});
}
$(document).ready(function(){
$("#popupLocations").fadeOut();
popupLocationsStatus = 0;
$("#Locations").click(function(){
$("#popupLocations").css({
"visibility": "visible" });
disablePopupAbout();
disablePopupContact();
centerPopupLocations();
loadPopupLocations();
});
$("#popupLocationsClose").click(function(){
disablePopupLocations();
});
});
$(function()
{
$('#popupLocations').jScrollPane();
$('.popupLocations').jScrollPane(
{
showArrows: true,
horizontalGutter: 10
}
);
});
これは、私が話していることをよりよく見るために保存したスクリーンショットです (テキストが切り取られているポップアップウィンドウの下部を見てください):
誰もがこれまでの私の作品を www.zaheeruddinsyed.com で見ることができ、私が話していることを正確に知ることができます。