在原有網頁上彈出一個子視窗並且實現半透明背景,原網頁的滾動效果失效

來源:互聯網
上載者:User

  今天在做一個類似花瓣的採集功能的頁面時,要實現這樣的頁面效果:在原頁面上彈出新的子視窗B,同時原頁面A被一層透明的圖層C覆蓋,圖層C在子視窗B下面而在頁面A上面; 原頁面A的捲軸消失,頁面禁止滾動,子視窗B的滾動不受印象。。

  在這裡寫下幾點操作的操作點:

  1、 把子視窗B和圖層C放在同一個div中,在一起追加到body標籤中。

參考html代碼:

<div id="inBody">  <div class="B"></div>  <div class="C"></div></div>

參考css:

#idBody{  display: none;         /*在載入到網頁後才進行block操作*/}.B{  z-index: 999;          /* 如果要保持總在頁面最頂端,這個值盡量往大定義 */  position: fixed;        /* 以下幾個屬性實現固定大小的子視窗置中 */  top: 50%;            /* 先把子視窗的左上方放在頁面中間,在用margin來調整 */  left: 50%;  width: 500px;  height: 300px;  margin-left: -250px;     /*  margin-left和top 始終是固定寬高的負一半  */  margin-top: -150px;  /* 其它css */}.C{  z-index: 998;         /* 因為始終在子視窗B下方,所以只要比子視窗B小一點就可一了。 */  background: rgba(255. 255. 255. 0.6); /* 實現圖層透明 */  position: fixed;        /* 以下實現圖層覆蓋整個瀏覽器頁面 */  top: 0;  right: 0;  bottom: 0;  left: 0;}

 

  2、把原網頁A的滾動功能屏蔽。

參考js代碼:

$(' getInBox ').click(function(){       /* 點擊彈出子視窗B */$('body').css('overflow-x', 'hidden');    /* 把原網頁A的捲軸的自動出現去掉 */$('body').css('overflow-y', 'hidden');$('.inBox').slow(100);})$(' delInBox').click(function(){       /* 關閉子視窗B */$('body').css('overflow', 'auto');      /* 恢複原網頁A的捲軸 */$('.inBox').hide(100);})

 

 

題外話: js禁止滑鼠的滾動效果:

 

window.onmousewheel=function(){return false};  

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.