window.print()打印根據(jù)高度設(shè)置居中顯示和布局(縱向橫向)
1.頁(yè)面定義打印div按鈕:
<!-- 打印機(jī)按鈕開(kāi)始 --> <div style="position: absolute;top:100;right:0px;z-index: 9999;background-color:#EDEDED"> <span id="printBtn" class="fa fa-print hidden-print" title="打印" style="float:left;font-size:24px;cursor:pointer;"></span> </div> <!-- 打印機(jī)按鈕結(jié)束 -->
2.js中寫(xiě)按鈕的監(jiān)聽(tīng)事件、打印之前設(shè)置頁(yè)面樣式的方法
//點(diǎn)擊打印,調(diào)出答應(yīng)機(jī)的方法 $("#printBtn").click(function(){ onbeforePrint(); //在打印之前執(zhí)行的方法(目的是修改打印頁(yè)的樣式) window.print(); }); //在打印之前執(zhí)行的方法(目的是修改打印頁(yè)的樣式) function onbeforePrint(){ //先獲取div的高度,當(dāng)高度小于800px時(shí),需要設(shè)置距離頂部的值,大于800則已經(jīng)鋪滿整個(gè)A4紙,不用設(shè)置 var style = document.createElement('style'); var mapHeight = $("#map").height(); var marginTop = "0mm"; if(mapHeight < 800){ var temp = 800 - parseInt(mapHeight); marginTop = (temp/8).toFixed(2)+"mm"; } style.innerHTML = "@page{size: landscape;margin: auto 0mm;margin-top:"+marginTop+"}"; window.document.head.appendChild(style); }
3.對(duì)設(shè)置參數(shù)進(jìn)行解釋
- @page:打印頁(yè)的樣式名稱
- size:portrait;(縱向)
- size:landscape;(橫向)
- margin:auto 0mm; (上下設(shè)置為自動(dòng)居中,左右邊距為0)
- mapHeight :獲取到div的高度,對(duì)高度進(jìn)行判斷,是否大于800px,大于則不處理(已經(jīng)鋪滿A4紙),不大于則做差計(jì)算距離頂部的高度值(mm毫米)
- style = document.createElement('style'):創(chuàng)建一個(gè)style樣式
- style.innerHTML = "@page{size: landscape;margin: auto 0mm;margin-top:"+marginTop+"}":給樣式設(shè)置值
- window.document.head.appendChild(style):把樣式添加到窗口中
4.效果演示
小屏幕:
大屏幕:
選擇布局和紙張尺寸,打印預(yù)覽會(huì)重新加載:
到此這篇關(guān)于window.print()打印根據(jù)高度設(shè)置居中顯示和布局(縱向橫向)的文章就介紹到這了,更多相關(guān)window.print()打印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript實(shí)現(xiàn)簡(jiǎn)易QQ聊天界面
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)易QQ聊天界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07Bootstrap自動(dòng)適應(yīng)PC、平板、手機(jī)的Bootstrap柵格系統(tǒng)
這篇文章主要介紹了Bootstrap自動(dòng)適應(yīng)PC、平板、手機(jī)的Bootstrap柵格系統(tǒng)的相關(guān)資料,需要的朋友可以參考下2016-05-05通過(guò)js簡(jiǎn)單實(shí)現(xiàn)將一個(gè)文本內(nèi)容轉(zhuǎn)譯成加密文本
將文本內(nèi)容轉(zhuǎn)譯成加密文本,在某些情況下還是比較實(shí)用的,下面通過(guò)js簡(jiǎn)單實(shí)現(xiàn)下,感興趣的朋友不要錯(cuò)過(guò)2013-10-10js實(shí)現(xiàn)黑色簡(jiǎn)易的滑動(dòng)門(mén)網(wǎng)頁(yè)tab選項(xiàng)卡效果
這篇文章主要介紹了js實(shí)現(xiàn)黑色簡(jiǎn)易的滑動(dòng)門(mén)網(wǎng)頁(yè)tab選項(xiàng)卡效果,可實(shí)現(xiàn)簡(jiǎn)單的鼠標(biāo)滑過(guò)tab項(xiàng)切換對(duì)應(yīng)菜單的功能,涉及javascript鼠標(biāo)事件控制頁(yè)面元素的遍歷與樣式改變實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08js實(shí)現(xiàn)點(diǎn)擊生成隨機(jī)div
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)點(diǎn)擊生成隨機(jī)div,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01JavaScript數(shù)據(jù)類型的轉(zhuǎn)換詳解
JavaScript是一種動(dòng)態(tài)類型語(yǔ)言,變量沒(méi)有類型限制,可以隨時(shí)賦予任意值。本文就來(lái)和大家聊聊JavaScript中的數(shù)據(jù)類型轉(zhuǎn)換,感興趣的小伙伴可以了解一下2022-12-12