aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/resizeobserver
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
commit33058f2b292b3a581333bdfb21b8f671898c5060 (patch)
tree51c3e392513ec574331b2d3f85c394445ea803c6 /files/zh-cn/web/api/resizeobserver
parent8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff)
downloadtranslated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip
initial commit
Diffstat (limited to 'files/zh-cn/web/api/resizeobserver')
-rw-r--r--files/zh-cn/web/api/resizeobserver/disconnect/index.html48
-rw-r--r--files/zh-cn/web/api/resizeobserver/index.html79
-rw-r--r--files/zh-cn/web/api/resizeobserver/observe/index.html62
-rw-r--r--files/zh-cn/web/api/resizeobserver/resizeobserver/index.html57
-rw-r--r--files/zh-cn/web/api/resizeobserver/unobserve/index.html51
5 files changed, 297 insertions, 0 deletions
diff --git a/files/zh-cn/web/api/resizeobserver/disconnect/index.html b/files/zh-cn/web/api/resizeobserver/disconnect/index.html
new file mode 100644
index 0000000000..ab492524d0
--- /dev/null
+++ b/files/zh-cn/web/api/resizeobserver/disconnect/index.html
@@ -0,0 +1,48 @@
+---
+title: ResizeObserver.disconnect()
+slug: Web/API/ResizeObserver/disconnect
+translation_of: Web/API/ResizeObserver/disconnect
+---
+<div>{{APIRef("Resize Observer API")}}{{SeeCompatTable}}</div>
+
+<p class="summary">The <strong><code>disconnect()</code></strong> method of the {{domxref("ResizeObserver")}} interface unobserves all observed {{domxref('Element')}} or {{domxref('SVGElement')}} targets.<br>
+ {{domxref("ResizeObserver")}} 接口的 <strong><code>disconnect()</code></strong> 方法会停止和取消目标对象上所有对{{domxref('Element')}} 或 {{domxref('SVGElement')}} 的监听。</p>
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox"><var>resizeObserver</var>.disconnect();</pre>
+
+<h3 id="参数">参数</h3>
+
+<p>无。</p>
+
+<h3 id="返回值">返回值</h3>
+
+<p>{{jsxref('undefined')}}</p>
+
+<h3 id="异常">异常</h3>
+
+<p>无。</p>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Resize Observer','#dom-resizeobserver-disconnect','disconnect()')}}</td>
+ <td>{{Spec2('Resize Observer')}}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+
+
+<p>{{Compat("api.ResizeObserver.disconnect")}}</p>
diff --git a/files/zh-cn/web/api/resizeobserver/index.html b/files/zh-cn/web/api/resizeobserver/index.html
new file mode 100644
index 0000000000..602fb4b351
--- /dev/null
+++ b/files/zh-cn/web/api/resizeobserver/index.html
@@ -0,0 +1,79 @@
+---
+title: ResizeObserver
+slug: Web/API/ResizeObserver
+translation_of: Web/API/ResizeObserver
+---
+<div>{{APIRef("Resize Observer API")}}{{SeeCompatTable}}</div>
+
+<p class="summary"><strong><code>ResizeObserver</code></strong> 接口可以监听到 {{domxref('Element')}} 的内容区域或 {{domxref('SVGElement')}}的边界框改变。内容区域则需要减去内边距padding。(有关内容区域、内边距资料见<a href="https://developer.mozilla.org/docs/Learn/CSS/Introduction_to_CSS/Box_model">盒子模型</a> )</p>
+
+<p>ResizeObserver避免了在自身回调中调整大小,从而触发的无限回调和循环依赖。它仅通过在后续帧中处理DOM中更深层次的元素来实现这一点。如果(浏览器)遵循规范,只会在绘制前或布局后触发调用。</p>
+
+<h2 id="构造器">构造器</h2>
+
+<dl>
+ <dt>{{domxref("ResizeObserver.ResizeObserver", "ResizeObserver()")}}</dt>
+ <dd>创建并返回一个<code>ResizeObserver</code>对象。</dd>
+</dl>
+
+<h2 id="属性">属性</h2>
+
+<p>无。</p>
+
+<h3 id="Event_handlers">Event handlers</h3>
+
+<p>无。</p>
+
+<h2 id="方法">方法</h2>
+
+<dl>
+ <dt>{{domxref('ResizeObserver.disconnect()')}}</dt>
+ <dd>取消和结束目标对象上所有对 {{domxref('Element')}}或 {{domxref('SVGElement')}} 观察。</dd>
+ <dt>{{domxref('ResizeObserver.observe()')}}</dt>
+ <dd>开始观察指定的 {{domxref('Element')}}或 {{domxref('SVGElement')}}。</dd>
+ <dt>{{domxref('ResizeObserver.unobserve()')}}</dt>
+ <dd>结束观察指定的{{domxref('Element')}}或 {{domxref('SVGElement')}}。</dd>
+</dl>
+
+<h2 id="示例">示例</h2>
+
+<p>以下示例通过观察box的宽度变化从而改变其边框圆角半径。</p>
+
+<pre class="brush: js">const resizeObserver = new ResizeObserver(entries =&gt; {
+ for (let entry of entries) {
+ entry.target.style.borderRadius = Math.max(0, 250 - entry.contentRect.width) + 'px';
+ }
+});
+resizeObserver.observe(document.querySelector('.box:nth-child(2)'));</pre>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Resize Observer','#resize-observer-interface','ResizeObserver')}}</td>
+ <td>{{Spec2('Resize Observer')}}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+
+
+<p>{{Compat("api.ResizeObserver")}}</p>
+
+<h2 id="参考">参考</h2>
+
+<ul>
+ <li><a href="https://developer.mozilla.org/docs/Learn/CSS/Introduction_to_CSS/Box_model">The box model</a></li>
+ <li>{{domxref('PerformanceObserver')}}</li>
+ <li>{{domxref('MutationObserver')}}</li>
+ <li>{{domxref('IntersectionObserver')}} (part of the <a href="/en-US/docs/Web/API/Intersection_Observer_API">Intersection Observer API</a>)</li>
+</ul>
diff --git a/files/zh-cn/web/api/resizeobserver/observe/index.html b/files/zh-cn/web/api/resizeobserver/observe/index.html
new file mode 100644
index 0000000000..67d09f60fe
--- /dev/null
+++ b/files/zh-cn/web/api/resizeobserver/observe/index.html
@@ -0,0 +1,62 @@
+---
+title: ResizeObserver.observe()
+slug: Web/API/ResizeObserver/observe
+translation_of: Web/API/ResizeObserver/observe
+---
+<div>{{APIRef("Resize Observer API")}}{{SeeCompatTable}}</div>
+
+<p class="summary">The <strong><code>observe()</code></strong> method of the {{domxref("ResizeObserver")}} interface initiates observing of a specified {{domxref('Element')}} or {{domxref('SVGElement')}}.<br>
+ {{domxref("ResizeObserver")}} 接口的 <strong><code>observe()</code> </strong>方法用于观察一个指定{{domxref('Element')}} 或 {{domxref('SVGElement')}}。</p>
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox"><em>resizeObserver</em>.observe(<em>target</em>);</pre>
+
+<h3 id="参数">参数</h3>
+
+<dl>
+ <dt>target</dt>
+ <dd>被观察的 {{domxref('Element')}} 或 {{domxref('SVGElement')}} 引用。</dd>
+</dl>
+
+<h3 id="返回值">返回值</h3>
+
+<p>{{jsxref('undefined')}}</p>
+
+<h3 id="异常">异常</h3>
+
+<p>无</p>
+
+<h2 id="示例">示例</h2>
+
+<p>以下示例通过观察box的尺寸变化从而改变其边框圆角半径。</p>
+
+<pre class="brush: js">const resizeObserver = new ResizeObserver(entries =&gt; {
+ for (let entry of entries) {
+ entry.target.style.borderRadius = Math.max(0, 250 - entry.contentRect.width) + 'px';
+ }
+});
+resizeObserver.observe(document.querySelector('.box:nth-child(2)'));</pre>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Resize Observer','#dom-resizeobserver-observe','observe()')}}</td>
+ <td>{{Spec2('Resize Observer')}}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+
+
+<p>{{Compat("api.ResizeObserver.observe")}}</p>
diff --git a/files/zh-cn/web/api/resizeobserver/resizeobserver/index.html b/files/zh-cn/web/api/resizeobserver/resizeobserver/index.html
new file mode 100644
index 0000000000..5e563c608b
--- /dev/null
+++ b/files/zh-cn/web/api/resizeobserver/resizeobserver/index.html
@@ -0,0 +1,57 @@
+---
+title: ResizeObserver.ResizeObserver()
+slug: Web/API/ResizeObserver/ResizeObserver
+translation_of: Web/API/ResizeObserver/ResizeObserver
+---
+<div>{{APIRef("Resize Observer API")}}{{SeeCompatTable}}</div>
+
+<p class="summary"><strong><code>ResizeObserver</code></strong> 构造器创新一个新的  {{domxref("ResizeObserver")}} 对象,用于接收 {{domxref('Element')}}内容区域的改变 或 {{domxref('SVGElement')}} 的边界框改变改变。</p>
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox">var <var>ResizeObserver</var> = new ResizeObserver(<var>callback</var>)</pre>
+
+<h3 id="参数">参数</h3>
+
+<dl>
+ <dt>回调函数</dt>
+ <dd>The method called whenever a resize occurs. The method is called with an array of {{domxref('ResizeObserverEntry')}} objects.<br>
+ 当尺寸发生变化时触发回调,使用{{domxref('ResizeObserverEntry')}}对象数组调用该方法。</dd>
+</dl>
+
+<h2 id="示例">示例</h2>
+
+<p>The following example shows the dimensions of a box inside it, as text, upon resizing.<br>
+ 下面示例展示了box调整大小时,其内部文本显示为尺寸大小。</p>
+
+<pre class="brush: js">const resizeObserver = new ResizeObserver(entries =&gt; {
+ for (let entry of entries) {
+  const boxEl = entry.target;
+  const dimensions = entry.contentRect;
+  boxEl.textContent = `${dimensions.width} x ${dimensions.height}`;
+ }
+});
+resizeObserver.observe(document.querySelector('.box:nth-child(2)'));</pre>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Resize Observer','#dom-resizeobserver-resizeobserver-callback-callback','ResizeObserver')}}</td>
+ <td>{{Spec2('Resize Observer')}}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+
+
+<p>{{Compat("api.ResizeObserver.ResizeObserver")}}</p>
diff --git a/files/zh-cn/web/api/resizeobserver/unobserve/index.html b/files/zh-cn/web/api/resizeobserver/unobserve/index.html
new file mode 100644
index 0000000000..d655375fd3
--- /dev/null
+++ b/files/zh-cn/web/api/resizeobserver/unobserve/index.html
@@ -0,0 +1,51 @@
+---
+title: ResizeObserver.unobserve()
+slug: Web/API/ResizeObserver/unobserve
+translation_of: Web/API/ResizeObserver/unobserve
+---
+<div>{{APIRef("Resize Observer API")}}{{SeeCompatTable}}</div>
+
+<p class="summary">The <strong><code>unobserve()</code></strong> method of the {{domxref("ResizeObserver")}} interface ends the observing of a specified {{domxref('Element')}} or {{domxref('SVGElement')}}.<br>
+ {{domxref("ResizeObserver")}} 接口的 <strong><code>unobserve()</code></strong>  方法用于结束一个指定的 {{domxref('Element')}} 或 {{domxref('SVGElement')}} 的观察。</p>
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox">void unobserve(target);</pre>
+
+<h3 id="参数">参数</h3>
+
+<dl>
+ <dt>target</dt>
+ <dd>取消监听的{{domxref('Element')}} 或 {{domxref('SVGElement')}} 的引用。</dd>
+</dl>
+
+<h3 id="返回值">返回值</h3>
+
+<p>{{jsxref('undefined')}}</p>
+
+<h3 id="异常">异常</h3>
+
+<p>无。</p>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Resize Observer','#dom-resizeobserver-unobserve','unobserve()')}}</td>
+ <td>{{Spec2('Resize Observer')}}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+
+
+<p>{{Compat("api.ResizeObserver.unobserve")}}</p>