0

我必须根据屏幕的宽度调整表格元素的大小。我对javascript或html一无所知,但我必须让它工作。我没有写原始的asp页面,我也不能改变太多。

例如在下面的代码示例中,SCREENWIDTH变量或函数调用的占位符在哪里:

<td>
  <div style="width:(SCREENWIDTH * 2 / 3)%">
    <input type="text" class="textfield" id="resourceref" name="resourceref"
      accesskey="E" onkeydown="infoChange('ref');" style="width: 90%">
  </div>
</td>

我正在考虑使用一个调用screen.width的javascript函数,并将其作为值返回SCREENWIDTH,但是无论我将函数调用放在“和”还是“和”中,我的语法似乎都不正确。

也许还有另一种方法可以做到这一点,但这是我的推理。

它被编码为简单的百分比,但它不能正常工作。此 td 在一个表格中,即在一个框架中,该框架是三个垂直框架的框架集的一部分,如果屏幕宽度非常窄,右侧还有另一个框架会遮挡某些表格元素。我不是这样写的,而且我对框架了解不多,但我必须解决这个问题。所以我想知道screenwidth是什么,并在使用它来确定td的宽度之前对其进行适当的调整。

所以如果我有(除了简单地返回它之外,我可能会对屏幕宽度做更多的事情)

<script language="javascript">
function getScreenWidth()
{
    return screen.width; 
}
</script>

在 head 标签中,我必须如何从 html 中调用它?

那么如何在确定 td 宽度的过程中获得屏幕宽度呢?

4

3 回答 3

0

我使用我编写的这个函数来正确报告我尝试过的每个设备......

这将允许您根据实际屏幕尺寸计算百分比。我从 iPad 宽度 (768) 开始,然后从那里计算 % - (screenWidth/768)*100..

希望这可以帮助。

function getDeviceDimensions()                  // get the width and height ofthe viewing device based on its OS
{
    screenWidth = window.screen.width;                                                  // get the width
    screenHeight = window.screen.height;                                                // get the height 
    var computedPixelRatio =  (window.screen.availWidth / document.documentElement.clientWidth);                        // a more reliable measure of device pixel ratio due to android firefox bugs...
    computedPixelRatio = window.devicePixelRatio >= computedPixelRatio ? window.devicePixelRatio : computedPixelRatio;  // select whichever value is larger between pixel ratio methods
    if (navigator.userAgent.indexOf('Android') != -1)                                   // if the client is on an android system
    {
        screenWidth = screenWidth / computedPixelRatio;                                 // divide the reported width by the pixel ratio
        screenHeight = screenHeight / computedPixelRatio;                               // divide the reported height by the pixel ratio
    }
    //alert(screenWidth + " " + screenHeight + " " + window.devicePixelRatio + " " + computedPixelRatio);
}
于 2013-10-15T13:47:09.637 回答
0

屏幕宽度和高度很棘手,因为不同的浏览器会处理不同的内容。我建议看看 jquery 有一些有用的调整大小的工具。特别是在调整大小事件等方面。

这是一个例子:

         $(window).resize(function() {   
           // event which gets fired on rezising
            $(window).height(); // the new height 
            $(window).width(); // the new width
          });

当然,您可以使用此信息进行进一步的计算和样式设置...

例如

    $('#theDiv').width(function(){
   return $(window).width() * 0.66;
});

它不显眼(没有内联javascript)只需给div一个ID HTH

于 2013-08-08T10:42:31.243 回答
0

应该能够以screen.width像素为单位获得屏幕宽度。width: 66.666%但是,在这种情况下您没有使用的特殊原因是什么?

于 2013-08-08T10:36:31.940 回答