اسکیمای Element Interactions (Element Interactions Schema)
title: اسکیمای Element Interactions (Element Interactions Schema) description: طرح کامل برای تعاملات عناصر: محرک ها، اقدامات، اهداف، تنظیمات انیمیشن، و شرایط فرعی.
فعل و انفعالات عناصر رفتار مبتنی بر رویداد را تعریف میکنند: هنگامیکه یک ماشه شلیک میشود، یک عمل روی یک هدف اجرا میشود. آنها در کلید _interactions در داخل شی settings هر عنصر ذخیره میشوند.
ساختار داده (Data structure)
فعل و انفعالات یک آرایه مسطح از آیتم های تعامل هستند. هر آیتم یک رویداد ماشه، اقدامیکه باید انجام شود و یک عنصر یا انتخابگر هدف را مشخص میکند.
interactionItem core properties
| ویژگی (Property) | نوع (Type) | توضیح (Description) |
|---|---|---|
id |
string \ | عدد صحیح |
trigger |
string | رویدادی که این تعامل را فعال میکند (به محرکهای زیر مراجعه کنید) |
action |
string | اقدام برای انجام (به اقدامات زیر مراجعه کنید) |
target |
string | مرجع هدف ("self"، شناسه عنصر، یا زمینه انتخابگر) |
targetSelector |
string | انتخابگر CSS برای المان هدف |
delay |
string | تاخیر قبل از اجرای عمل (ms) |
runOnce |
boolean | اگر درست باشد، تعامل فقط یک بار فعال میشود |
خواص اضافی
این ویژگی ها بسته به اقدام انتخاب شده اعمال میشوند:
| ویژگی (Property) | نوع (Type) | Used with |
|---|---|---|
animationType |
string | startAnimation (animation type) |
animationId |
string | startAnimation (predefined animation ID) |
animationDelay |
string | startAnimation (animation delay) |
animationDuration |
string | startAnimation (animation duration) |
jsFunction |
string | javascript (function name to call) |
jsFunctionArgs |
array | javascript (arguments array: [{ jsFunctionArg: "value" }]) |
scrollToDelay |
string | scrollTo (delay before scrolling) |
scrollToOffset |
string | scrollTo (scroll offset in pixels) |
scrollOffset |
string | scroll trigger (scroll position threshold) |
rootMargin |
string | enterView/leaveView (IntersectionObserver root margin) |
templateId |
string | Template ID reference |
formId |
string | Form element ID |
ajaxQueryId |
string | AJAX query element ID |
offCanvasSelector |
string | toggleOffCanvas (offcanvas CSS selector) |
toggleOffCanvasInfo |
string | toggleOffCanvas (info field) |
filterElementId |
string | Query filter element ID |
infoBoxId |
string | Info box element ID |
loadMoreQuery |
string | loadMore (query element ID) |
targetFormSelector |
string | clearForm (form CSS selector) |
actionAttributeKey |
string | setAttribute/removeAttribute/toggleAttribute (attribute name) |
actionAttributeValue |
string | setAttribute/toggleAttribute (attribute value) |
disablePreventDefault |
boolean | Do not call preventDefault() on the trigger event |
storageType |
string | storageAdd/storageRemove/storageCount (storage type) |
popupContextId |
string | Popup context ID |
popupContextType |
string | Popup context type |
conditionsSep |
string | Visual separator for conditions UI |
مثال (Example)
{
"_interactions": [
{
"id": "abc123",
"trigger": "click",
"action": "startAnimation",
"target": "self",
"animationType": "fadeIn",
"animationDuration": "500"
},
{
"id": "def456",
"trigger": "enterView",
"action": "show",
"target": "self",
"rootMargin": "0px 0px -100px 0px",
"runOnce": true
}
]
}
تریگرها (Triggers)
عنصر
- click
- mouseover
- focus
- blur
- mouseenter
- mouseleave
- enterView
- leaveView
- animationEnd
- ajaxStart
- ajaxEnd
- formSubmit
- formSuccess
- formError
مرورگر/پنجره
- scroll
- contentLoaded
- mouseleaveWindow
فیلترهای پرس و جو
- filterOptionEmpty
- filterOptionNotEmpty
ووکامرس
- wooAddedToCart
- wooAddingToCart
- wooRemovedFromCart
- wooUpdateCart
- wooCouponApplied
- wooCouponRemoved
الگوهای بازشو دارای دو محرک اضافی (showPopup، hidePopup) از طریق نوع templateInteractionItem در تنظیمات الگو هستند.
اکشنها (Actions)
| Action | توضیح (Description) |
|---|---|
show |
نمایش عنصر |
hide |
پنهان کردن عنصر |
click |
روی عنصر کلیک کنید |
setAttribute |
یک ویژگی HTML تنظیم کنید |
removeAttribute |
یک ویژگی HTML را حذف کنید |
toggleAttribute |
یک ویژگی HTML را تغییر دهید |
toggleOffCanvas |
یک پانل offcanvas را تغییر دهید |
loadMore |
بارگیری موارد بیشتر (حلقه پرس و جو) |
startAnimation |
یک انیمیشن CSS راه اندازی کنید |
scrollTo |
به یک عنصر بروید |
javascript |
یک تابع جاوا اسکریپت سفارشی را اجرا کنید |
openAddress |
آدرس نقشه را باز کنید |
closeAddress |
آدرس نقشه را ببندید |
clearForm |
یک فرم را پاک کنید |
storageAdd |
مورد را به حافظه مرورگر اضافه کنید |
storageRemove |
حذف مورد از حافظه مرورگر |
storageCount |
موارد موجود در حافظه مرورگر را بشمارید |
شرایط فرعی تعامل
هر فعل و انفعال میتواند به صورت اختیاری شامل شرایط فرعی باشد که قبل از شروع عملیات باید برآورده شوند. اینها در آرایه interactionConditions ذخیره میشوند و interactionConditionsRelation کنترل میکند که آیا شرایط با منطق AND یا OR ترکیب میشوند.
| ویژگی (Property) | نوع (Type) | توضیح (Description) |
|---|---|---|
interactionConditions |
array | آرایه ای از اشیاء interactionConditionItem |
interactionConditionsRelation |
string | طرحواره پالت های رنگی |
interactionConditionItem properties
| ویژگی (Property) | نوع (Type) | توضیح (Description) |
|---|---|---|
conditionType |
string | نوع بررسی وضعیت |
storageCompare |
string | عملگر مقایسه برای مقدار ذخیرهسازی |
storageCompareValue |
any | ارزش برای مقایسه فضای ذخیرهسازی |
storageKey |
any | کلید ذخیرهسازی مرورگر برای بررسی |