0

我正在使用模板,其中 java 脚本文件已用于修复所有分辨率的分辨率。但我不知道 javascript,如果我在模板中进行任何更改,那么分辨率将不起作用。

    var ElementMaxHeight = function() {
      this.initialize.apply(this, arguments);
    }

    ElementMaxHeight.prototype = {
      initialize: function(className) {
        this.elements = document.getElementsByClassName(className || 'maxheight');    
        this.textElement = document.createElement('span');
        this.textElement.appendChild(document.createTextNode('A'));
        this.textElement.style.display = 'block';
        this.textElement.style.position = 'absolute';
        this.textElement.style.fontSize = '1em';
        this.textElement.style.top = '-1000px';
        this.textElement.style.left = '-1000px';
        document.body.appendChild(this.textElement);
        this.textElementHeight = document.getDimensions(this.textElement).height;
        var __object = this;
        var __checkFontSize = this.checkFontSize;
        this.checkFontSizeInterval = window.setInterval(function() {return __checkFontSize.apply(__object)}, 500);

        this.expand();
    // Refresh elements height onResize event
    var __expand = this.expand;
    if (window.addEventListener) {
      window.addEventListener('resize', function(event) {return __expand.apply(__object, [( event || window.event)])}, false);
    } else if (window.attachEvent) {
      window.attachEvent('onresize', function(event) {return __expand.apply(__object, [( event || window.event)])});
    }
  },
      expand: function() {
        this.reset();
       for (var i = 0; i < this.elements.length; i++) {   
          this.elements[i].style.height = document.getDimensions(this.elements[i].parentNode).height + 'px';
       }
      },

      reset: function() {
        for (var i = 0; i < this.elements.length; i++) {    
          this.elements[i].style.height = 'auto';
        }
      },

      checkFontSize: function() {
       var height = document.getDimensions(this.textElement).height;
       if(this.textElementHeight != height) {
        this.textElementHeight = height;
        this.expand();
       }
      }  
    }


    if (!!document.evaluate) {
      document._getElementsByXPath = function(expression, parentElement) {
        var results = [];
        var query = document.evaluate(expression, parentElement || document,
          null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
        for (var i = 0, length = query.snapshotLength; i < length; i++)
          results.push(query.snapshotItem(i));
        return results;
      }
    }

    document.getElementsByClassName = function(className, parentElement) {
      if (!!document.evaluate) {
        var q = ".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]";
        return document._getElementsByXPath(q, parentElement);
      } else {
        var children = (parentElement || document.body).getElementsByTagName('*');
        var elements = [], child;
        for (var i = 0, length = children.length; i < length; i++) {
          child = children[i];
          if (child.className.length != 0 &&
              (child.className == className ||
               child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))) {      
            elements.push(child);
          }
        }
        return elements;
      }
    }

    document.getDimensions = function (element) {
      var display = element.style.display;
      if (display != 'none' && display != null) { // Safari bug
        return {width: element.offsetWidth, height: element.offsetHeight};
      }

      return {width: originalWidth, height: originalHeight};
      var jswidth = screen.width;


    }

这是模板使用的java脚本,请帮助我如何修复屏幕分辨率。这个脚本是如何工作的?

4

2 回答 2

1
document.getDimensions = function (element) {
      var display = element.style.display;
      if (display != 'none' && display != null) { // Safari bug
        return {width: element.offsetWidth, height: element.offsetHeight};
      }

      return {width: originalWidth, height: originalHeight};
      var jswidth = screen.width;


    }

如果您要设置固定宽度和高度,只需更改返回值

从:

return {width: element.offsetWidth, height: element.offsetHeight};

至:

return {width: 800, height: 600};

从:

return {width: originalWidth, height: originalHeight};

至:

return {width: 800, height: 600};
于 2009-11-06T03:44:49.013 回答
0

你能写出完整的动作来自动改变分辨率吗?

它适用于 HTML 和 Flash 吗?

于 2009-11-28T10:44:23.260 回答