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 に答える