我想在屏幕寬度變爲1120以下時檢測點,並且觸發一段代碼,但僅當屏幕尺寸超過該點時才執行此操作。我不希望運行的代碼時,有來自變化,例如,1000〜999只,從1121到1120屏幕尺寸變化的檢測點
回答
爲了確保您的代碼不運行的每個瀏覽器的大小調整的時間,但只有當它改變高於或低於1200像素的分辨率,你可以使用一個布爾(真/假)標誌的唯一運行代碼當它的值需要改變時,在這種情況下,這個變量是under1200。
如果您使用此代碼,則不需要庫。
var under1200=false;
if(window.innerWidth<1200){
\t under1200=true;
}
window.onresize = function(event) {
\t if(under1200 == false && window.innerWidth<=1200){
\t \t console.log("Size under 1200");
\t \t under1200=true;
\t \t
\t \t //YOUR CODE FOR LESS THAN 1200px HERE
\t }
\t if(under1200 == true && window.innerWidth>1200){
\t \t console.log("Size over 1200");
\t \t under1200=false;
\t \t
\t \t //YOUR CODE FOR +1200px HERE
\t }
}
可以使用.resize()事件
$(window).on('resize', function(){
var win = $(this);
if (win.width() >= 1120) {
/* ... */
}
});
在更寬的窗口調整大小時,它會重複運行代碼。我需要一次運行時,從寬變窄,每次點通過。 –
如果您是在尋找一個現代的方法,有matchMedia:
var matched = false;
// media query event handler
if (matchMedia) {
var mq = window.matchMedia("(min-width: 1120px)");
mq.addListener(WidthChange);
WidthChange(mq);
}
// media query change
function WidthChange(mq) {
if (mq.matches) {
// window width is at least 1120px
matched = false; // Reset match flag
} else {
// window width is less than 1120px
if(!matched) {
// Do your logic here
}
matched = true;
}
}
(見https://www.sitepoint.com/javascript-media-queries/)
大多數瀏覽器似乎支持:http://caniuse.com/#feat=matchmedia
這會做你正在尋找什麼?
$(window).resize(function(){
if (screen.width >= 1119 && screen.width <= 1120) {
// run code
}
})
從一個快速測試,screen.width返回屏幕的寬度本身,我假設OP意味着窗口大小 – JohnHoulderUK
這裏有一個簡單的代碼:
var detectSize = function() {
if (window.innerWidth == 1120 || window.innerWidth == 1121) {
console.log('youre code here');
};
}
detectSize();
window.addEventListener('resize', detectSize, false);
當然,這也將擴大窗口時運行。 –
- 1. 屏幕尺寸檢測後的Coldfusion
- 2. 檢測物理屏幕尺寸
- 3. 寬度變化與窄屏幕尺寸
- 4. 屏幕尺寸
- 5. 屏幕尺寸
- 6. 屏幕尺寸
- 7. 我的CSS隨着屏幕尺寸的變化而變化
- 8. 與屏幕尺寸
- 9. Android屏幕尺寸
- 10. CSS屏幕尺寸
- 11. Monodroid屏幕尺寸
- 12. 屏幕尺寸5
- 13. Android屏幕尺寸
- 14. Safari的屏幕尺寸優化
- 15. 點擊後有小屏幕尺寸一個功能和屏幕尺寸大了
- 16. 屏幕尺寸到圖像尺寸
- 17. Javascript自動屏幕尺寸測試
- 18. 如何檢查初始屏幕尺寸
- 19. JFrame最大化屏幕尺寸與尺寸
- 20. cocos2d的屏幕尺寸
- 21. Mac Store的屏幕尺寸
- 22. 在Android的屏幕尺寸
- 23. android的屏幕尺寸
- 24. Android的錯屏幕尺寸
- 25. 不同的屏幕尺寸?
- 26. 不同的屏幕尺寸
- 27. 屏幕尺寸的UIScrollView
- 28. 當屏幕尺寸發生變化時變換表格
- 29. 佈局改變與屏幕尺寸
- 30. 改變CSS,根據屏幕尺寸
,當你發現它低於你的代碼運行,以便在onResize,設置標誌。 – epascarello
每次點通過時都需要運行代碼。 –
所以當你從較少到較多時,你會解除旗幟。 – epascarello