亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在使用 Vanilla JavaScript 調整瀏覽器大小時刷新變量?

如何在使用 Vanilla JavaScript 調整瀏覽器大小時刷新變量?

飲歌長嘯 2022-05-14 13:38:19
let size = carousel_images[0].clientWidth;我使用并clientWidth在不同的視口中變化來獲取幻燈片圖像的大小,這里carousel_images是指向img內部的.carousel,這是它在不同視口中的變化方式:@media screen and (min-width: 1024px) {  .carousel {    max-width: 994px;    img {      min-width: 994px;    }  }}@media screen and (min-width: 1200px) {  .carousel {    max-width: 1150px;    img {      min-width: 1150px;    }  }}所以當我調整瀏覽器的大小時,它看起來像:但是當我刷新頁面時,它看起來又正常了。
查看完整描述

2 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

您需要添加以下代碼:


window.addEventListener('resize', ()=>{

    size = carousel_images[0].clientWidth

    carousel_slide.style.transform = `translateX(${-size}px)`

})

本質上,您需要resize在使用該變量的任何位置監聽窗口事件、更新變量并再次執行代碼。


查看完整回答
反對 回復 2022-05-14
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

我認為你必須為你的let size. 是全局變量嗎?也許,將它放在函數或類中是個好主意。


您可以使用 resize 事件,該事件在您的窗口更改大小時觸發。


以下演示來自: https ://developer.mozilla.org/en-US/docs/Web/API/Window/resize_event


const heightOutput = document.querySelector('#height');

const widthOutput = document.querySelector('#width');


function reportWindowSize() {

  heightOutput.textContent = window.innerHeight;

  widthOutput.textContent = window.innerWidth;

}


window.onresize = reportWindowSize;

<p>Resize the browser window to fire the <code>resize</code> event.</p>

<p>Window height: <span id="height"></span></p>

<p>Window width: <span id="width"></span></p>


查看完整回答
反對 回復 2022-05-14
  • 2 回答
  • 0 關注
  • 93 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號