Javascript 在教程中未声明窗口大小

标签 javascript jquery css

我正在学习有关响应式网络体验的 Lynda.com 教程。我的 Javascript 大部分工作正常。从讲师看来,JS 的目标是“我们根据窗口的外部宽度确定窗口宽度”。然后我们输出该信息以及屏幕是小、中还是大(@media 断点)。

如“945 (931+14) 很大”。 My work so far与它共存。

问题是,随着窗口宽度的变化,“大”不会变为“中”,然后变为“小”。

谢谢!

如果有帮助,这里有 codepen包含所有 HTML/CSS 代码。这是 JS。

/* JavaScript Document */

var windowSize = '';
var windowWidth = 0;
var actualSize = 0;

$(document).ready(function () {
	
	checkBrowserSize();
	loadHero();

});	

function checkBrowserSize() {
	windowWidth = window.outerWidth;
	var contentWidth = $('body').width();
	var sizeDiff = windowWidth - contentWidth;
	actualSize = windowWidth - sizeDiff;
	
	if (actualSize > 800) { newWindowSize = 'large'; }
	if (actualSize <= 800 && actualSize > 500) {newWindowSize = 'medium'; }
	if (actualSize <= 500){ newWindowSize = 'small'; }
	$('h1').html(windowWidth +' ('+contentWidth+'+'+sizeDiff+')'+' is '+newWindowSize);

	
}

function loadHero() {
	
	$('#hero').load('content/hero_content_large.html');
	
}

最佳答案

您的问题是该函数仅在文档就绪时运行一次。您必须将函数绑定(bind)到 onresize 事件,以便每次触发 resize 事件时该函数都会运行(阅读有关事件处理程序的信息)

这是一个 JavaScript 示例:http://www.w3schools.com/jsref/event_onresize.asp

这是一个 jQuery 示例: http://www.w3schools.com/jquery/event_resize.asp

关于Javascript 在教程中未声明窗口大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31226010/

相关文章:

javascript - 如何使用 jQuery 扫描动态添加的文本

javascript - 有没有办法重置:after/:before CSS rules for an element?

html - 在背景上定位图像(背景大小变化)

javascript - Paper.js 上的触发工具事件

javascript - 从子域引用 css 和 js 文件

javascript - 通过 jQuery 为将来创建的元素添加 CSS 规则

javascript - 如何在异步的 React 功能组件中使用 useState

javascript - 这个 ES6 函数声明如何有效?

javascript - 'OR' 语句中的 'AND' 和 'IF' 的正确语法是什么?

jquery - 有人知道 jquery mobile 和 jquery 的哪些版本可以一起工作吗?