如何使用jQuery在新窗口中生成动态布局

时间:2018-03-29 07:36:09

标签: javascript jquery html5

我正在尝试使用jquery生成动态布局。我们的想法是让用户选择宽度和高度,然后将其用于将图像数量设置为相应的行和列。

我正在寻找的最终结果是用户选择网格尺寸(例如3x2),然后有一个新窗口,图像填充网格空间。我认为我走在正确的轨道上,但我无法弄清楚我哪里出错了。

var ht = 150 * $("#mapht").val();
var wt = 150 * $("#mapwd").val();
var newwindow;

function openwindow() {
  var wt = 150 * $("#mapwd").val();
  var ht = 150 * $("#mapht").val();
  newwindow = window.open("", "", "top=200,left=200");
  for (i = 1; i < $('#mapht').val(); i++) {
    for (j = 1; j < $('#mapwd').val(); j++) {
      newwindow.document.write("<div class='col" + j + " row" + i + "'></div>");
    }
  }
  newwindow.resizeTo(ht, wt);
  newwindow.focus();
}
$('.testing').click(openwindow);

https://jsfiddle.net/Kishkuman13/ggwsgbq8/16/

1 个答案:

答案 0 :(得分:0)

你犯了以下错误:

此处for (i = 1; i < $('#mapht').val(); i++) {。在UI上,默认值为1,for循环从i = 1开始,因此循环不会执行。 for (j = 1也是如此。

可以通过更改以下内容来解决此问题:

  1. for (i = 0
  2. for (j = 0