[JS30] - 26) Stripe Follow Along Dropdown
マウスが止まるたびにドロップダウンメニューが表示されます
🧀 Element: mouseenter event
🧀 Element: mouseleave event
各ボタンにマウスを置くたびに、ドロップダウンメニューが表示されます.
const triggers = document.querySelectorAll('.cool > li');
triggers.forEach(trigger => trigger.addEventListener('mouseenter', handleEnter));
triggers.forEach(trigger => trigger.addEventListener('mouseleave', handleLeave));
マウスの各ボタンのドロップダウン内容のサイズに合わせて、メニューの背景のサイズを変更します。
🧀 Element.getBoundingClientRect()
🧀 CSSStyleDeclaration.setProperty()
CSSスタイル宣言オブジェクトのプロパティの新しい値を設定します.
style.setProperty(propertyName, value, priority);
パラメータ
propertyName
DOMStringが変更するCSS属性名(ハイフン大文字小文字)
n.選択科目
DOMStringの新しい属性値を含む
priority
CSS属性の優先度の指定
const dropdown = this.querySelector('.dropdown');
const dropdownCoords = dropdown.getBoundingClientRect();
const navCoords = nav.getBoundingClientRect();
const coords = {
width: dropdownCoords.width,
height: dropdownCoords.height,
top: dropdownCoords.top - navCoords.top,
left: dropdownCoords.left - navCoords.left,
};
background.style.setProperty('width', `${coords.width}px`);
background.style.setProperty('height', `${coords.height}px`);
background.style.setProperty('transform', `translate(${coords.left}px, ${coords.top}px)`);
coordsオブジェクトを作成し、指定したプログラムをそれぞれロードします.Reference
Reference
この問題について([JS30] - 26) Stripe Follow Along Dropdown), 我々は、より多くの情報をここで見つけました https://velog.io/@gygy/JS30-26-Stripe-Follow-Along-Dropdownテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol