在开发过程中使用Verge.js可显示当前视口宽度和高度跨浏览器。将具有动态VergeJS视口值的div添加到HTML
https://jsfiddle.net/ccL30a26/
function getVergeValues() {
viewportWidth = verge.viewportW() // Get the viewport width in pixels.
viewportHeight = verge.viewportH() // Get the viewport height in pixels.
$('.w').text(viewportWidth + 'px wide');
$('.h').text(viewportHeight + 'px high');
}
$(window).on('resize', getVergeValues);
$(document).ready(getVergeValues);
而不是硬编码的#notification
,.w
& .h
的div到我喜欢他们追加到body
与它们包含一刹让他们的价值观HTML。
我已经完成了这个代码。 https://jsfiddle.net/ccL30a26/1/
function getVergeValues() {
viewportWidth = verge.viewportW() // Get the viewport width in pixels.
viewportHeight = verge.viewportH() // Get the viewport height in pixels.
var $width = $("<div class='w'></div>");
var $height = $("<div class='h'></div>");
$('.w').text(viewportWidth + 'px wide');
$('.h').text(viewportHeight + 'px high');
$("body").append($width, $height);
}
$(window).on('resize', getVergeValues);
$(document).ready(getVergeValues);
但是现在domready中没有显示出有值和窗口调整值获得加起来填充视口。
如何获取domready上显示的初始值以及只显示窗口大小上显示的当前值?
编辑
看着lab.js我明白我必须使用for
循环更新变化的输出,其中outputs
,updates
和prev
都是空的数组和l
和i
被赋予的价值0
。还有this的问题很可能会帮助我。
// Update changed outputs
for (l = updates.length; i < l; i++) {
if (i in updates && updates[i] !== prev[i]) {
(outputs[i] = outputs[i] || $(prefix + i)).text(updates[i]);
}
}
刚刚意识到我需要和一刹updates[32] = viewportH();
。不知道如何将verge.viewportW()
和verge.viewportH()
值真正放入数组中,然后遍历它们。如果有人可以在for
循环中输入我需要做的事情,这对我会有很大的帮助。
简单地说,我正在寻找这个。
1.从verge.viewportW()
获取第一个值,并将其存储在数组的索引0 处。
2.将该值与.text()
一起添加到div
。
3.获取第二个值的形式verge.viewportW()
并将其存储在数组的索引1处 。
4.用新值替换div
中的旧值。
5.只要数组中有新值,就这样做。
如果有人能够在评论正确的for
循环的每一行时以真正简单的措辞进行说明,我认为这将帮助我理解循环遍历数组的基本原理。
我熟悉一个for循环,例如看起来像这样。这里购物清单的所有项目都被赋予类done
。
for (var index = 0; index < shoppingList.length; index++){
shoppingList[index].className = 'done';
}
我只是不太明白如何将这个不断变化的价值,新与旧的输出转换到一个数组。开裂我的头..
解决方案:
https://jsfiddle.net/ccL30a26/3/通过Pierre-Louis Laffont
我认为你的初始问题只是在你的JS追加的地方。如果你将它追加到getVergeValues函数中,它似乎可以工作:https://jsfiddle.net/zfzq1crL/ – Pilou
@ Pierre-LouisLaffont Jeeeezuz!请尽快回复并兑现你的50分!我再次遇到了一个案例,那就是我没有看到我在树林中的森林。如果你有时间,请详细说明这个“太容易相信但是很有效”的“思考JS”**的方式,这可以帮助我在未来的问题中解决这样简单的问题。 **什么地方以及为什么我不提出这样的问题?**没有足够的培训或解决问题/思考的不好方法? – lowtechsun