在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 請問js里面,什么返回值需要加px

請問js里面,什么返回值需要加px

event.clientX ,scrollTop,offsetLeft 他們需要加px的嗎?

回答
編輯回答
離殤

他們的單位是有px的就需要加px。0px,可以省略px。

2018年3月6日 22:18
編輯回答
忠妾

你說的這幾個都要加

2018年1月1日 08:06
編輯回答
夢囈

像元素的位置和尺寸都是以像素來衡量的,像素px是相對于顯示器屏幕分辨率而言的,一般都要加px。

2017年8月28日 16:09
編輯回答
真難過

我覺的還可以這么想、什么情況下可以不加單位、
當元素需要操作且不等于0的情況就得加上相應的單位

2018年8月1日 12:28
編輯回答
舊酒館

看規(guī)范

event.clientX ,scrollTop,offsetLeft

首先第一個 event.clientX,這個是不需要加 px 的,因為這個應該是滾動的時候觸發(fā)的事件,event 應該是一個 MouseEvent。

查看規(guī)范: https://w3c.github.io/uievent...

[Constructor(DOMString type, optional MouseEventInit eventInitDict), Exposed=Window]
interface MouseEvent : UIEvent {
  readonly attribute long screenX;
  readonly attribute long screenY;
  readonly attribute long clientX;
  readonly attribute long clientY;

  readonly attribute boolean ctrlKey;
  readonly attribute boolean shiftKey;
  readonly attribute boolean altKey;
  readonly attribute boolean metaKey;

  readonly attribute short button;
  readonly attribute unsigned short buttons;

  readonly attribute EventTarget? relatedTarget;

  boolean getModifierState(DOMString keyArg);
};

clientX 是一個 long 類型的屬性,是個整數(shù)。


再看 scrollTop。元素的類型都是 HTMLElement,但是 scrollTop 屬性是直接繼承自 Element 的,那么查一下 Element 的文檔。在 MDN 看吧,還是中文的:Element.scrollTop,中文寫的也不太詳細。

還得看規(guī)范:https://drafts.csswg.org/csso...

partial interface Element {
  DOMRectList getClientRects();
  [NewObject] DOMRect getBoundingClientRect();
  void scrollIntoView(optional (boolean or ScrollIntoViewOptions) arg);
  void scroll(optional ScrollToOptions options);
  void scroll(unrestricted double x, unrestricted double y);
  void scrollTo(optional ScrollToOptions options);
  void scrollTo(unrestricted double x, unrestricted double y);
  void scrollBy(optional ScrollToOptions options);
  void scrollBy(unrestricted double x, unrestricted double y);
  attribute unrestricted double scrollTop;    <-------- 這里
  attribute unrestricted double scrollLeft;
  readonly attribute long scrollWidth;
  readonly attribute long scrollHeight;
  readonly attribute long clientTop;
  readonly attribute long clientLeft;
  readonly attribute long clientWidth;
  readonly attribute long clientHeight;
};

scrollTop 的類型是 double。


平時使用 px 最多的地方就是樣式表。我們看一下樣式的定義。

HTMLElement.style 的類型是一個 CSSStyleDeclarationhttps://drafts.csswg.org/csso...

[Exposed=Window]
interface CSSStyleDeclaration {
  [CEReactions] attribute CSSOMString cssText;
  readonly attribute unsigned long length;
  getter CSSOMString item(unsigned long index);
  CSSOMString getPropertyValue(CSSOMString property);  <----- 這里
  CSSOMString getPropertyPriority(CSSOMString property);
  [CEReactions] void setProperty(CSSOMString property, [TreatNullAs=EmptyString] CSSOMString value, [TreatNullAs=EmptyString] optional CSSOMString priority = "");
  [CEReactions] void setPropertyValue(CSSOMString property, [TreatNullAs=EmptyString] CSSOMString value);
  [CEReactions] void setPropertyPriority(CSSOMString property, [TreatNullAs=EmptyString] CSSOMString priority);
  [CEReactions] CSSOMString removeProperty(CSSOMString property);
  readonly attribute CSSRule? parentRule;
  [CEReactions] attribute [TreatNullAs=EmptyString] CSSOMString cssFloat;
};

string(字符串)類型的,所以需要加 px。

2017年7月25日 16:07
編輯回答
舊顏

默認單位就是px

2018年9月10日 10:10