RELOIVE Baby Balance Bike,Toddler Baby Bicycle with 4 Wheels 10-36 Months, Adjustable Handlebar Baby Outdoor Bike Riding Toy,First Birthday Gift
RELOIVE Baby Balance Bike,Toddler Baby Bicycle with 4 Wheels 10-36 Months, Adjustable Handlebar Baby Outdoor Bike Riding Toy,First Birthday Gift
${function() {
const variantData = data.variant || {"id":"33e5f9fc-911b-4762-b47a-619fbfd82893","product_id":"78e1a4b8-53c5-4157-894c-477ec6c3ddc1","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"0EIRWA0000001@#RELOIVE120568PJ","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":150,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"150","retail_price":"0","available":true,"url":"\/products\/reloive-baby-balance-bike-toddler-baby-bicycle-with-4-wheels-10-36-months-adjustable-handlebar-baby-outdoor-bike-riding-toy-first-birthday-gift?variant=33e5f9fc-911b-4762-b47a-619fbfd82893","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"33e5f9fc-911b-4762-b47a-619fbfd82893","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"150","compare_at_price":"","discount_price":"150","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"0","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0};
const saveType = null;
const productSaveLabel = null;
return `
-
${ variantData.off_ratio }%
`; }()}
${function(){
return `
${data.starNum}/${data.starTotal}
`;
}()}
${function(){
return `
${data.showStarText === 'true' ? `
${data.starNum}/${data.starTotal}
` : ''}
`;
}()}
const TAG = 'spz-custom-revue-star';
class SPZCustomRevueStar extends SPZ.BaseElement {
constructor(element) {
super(element);
}
static deferredMount() {
return false;
}
buildCallback = () => {
this.action_ = SPZServices.actionServiceForDoc(this.element);
this.templates_ = SPZServices.templatesForDoc(this.element);
this.xhr_ = SPZServices.xhrFor(this.win);
this.starNum = this.element.getAttribute('starNum');
this.starTotal = this.element.getAttribute('starTotal');
this.showStarText = this.element.getAttribute('showStarText');
this.starColor = this.element.getAttribute('color');
this.interact = this.element.getAttribute('interact');
this.starSize = this.element.getAttribute('starSize') || 14;
}
mountCallback = () => {
this.doRender_({
starTotal: this.starTotal,
totalArray: Array.from({ length: Number(this.starTotal) }, (v, k) => k + 1),
starNum: this.starNum,
showStarText: this.showStarText,
starColor: this.starColor,
starSize: this.starSize
}).then(() => {
if (this.interact) {
this.addEventListeners_();
}
});
}
addEventListeners_ = () => {
const stars = document.querySelectorAll('.revue-star__star');
stars.forEach(star => {
star.addEventListener('click', event => {
const starEl = star.closest('.revue-star__star');
const starIndex = Number(starEl.dataset.index);
let isHalf = event.offsetX < star.offsetWidth / 2;
// rtl
if (document.documentElement.getAttribute('dir') === 'rtl') {
isHalf = event.offsetX > star.offsetWidth / 2;
}
const starValue = isHalf ? starIndex - 0.5 : starIndex;
this.starClickHandler_({ value: starValue });
});
});
}
renderStar = () => {
const isRtl = document.documentElement.getAttribute('dir') === 'rtl';
const stars = this.element.querySelectorAll('.revue-star__star');
stars.forEach((star, i) => {
const starIndex = i + 1;
const starEl = star.querySelector('svg:nth-child(2)');
const isHalf = this.starNum % 1 > 0 && Math.ceil(this.starNum) === starIndex;
const isSolid = starIndex <= Math.ceil(this.starNum);
starEl.style.display = isSolid ? 'block' : 'none';
if (isHalf) {
if (isRtl) {
// RTL布局下,如果是半星,显示星星的右半边
starEl.style.clipPath = `polygon(50% 0, 100% 0, 100% 100%, 50% 100%)`;
} else {
// LTR布局下,如果是半星,显示星星的左半边
starEl.style.clipPath = `polygon(0 0, 50% 0, 50% 100%, 0 100%)`;
}
} else {
starEl.style.clipPath = `polygon(0 0, 100% 0, 100% 100%, 0 100%)`
}
});
const showCountEle = this.element.querySelector('#revue-star-show-count');
showCountEle && SPZ.whenApiDefined(showCountEle).then((api) => {
api.render({ starNum: this.starNum, starTotal: this.starTotal });
});
}
doRender_ = (data) => {
return this.templates_
.findAndRenderTemplate(this.element, { starSize: this.starSize, ...data }, null)
.then((el) => {
const children = this.element.querySelector('*:not(template)');
children && SPZCore.Dom.removeElement(children);
this.element.appendChild(el);
})
.then(() => {
this.starNum = data.starNum;
this.renderStar();
});
}
starClickHandler_ = (event) => {
this.starNum = event.value;
this.renderStar();
this.triggerEvent_('change', { value: event.value });
}
triggerEvent_(name, data) {
const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {});
this.action_.trigger(this.element, name, event);
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.CONTAINER;
}
}
SPZ.defineElement(TAG, SPZCustomRevueStar)
()
try {
const productId = window.SHOPLAZZA.meta.page.resource_id;
const productType = `default`;
const getProductReviews = (star_least) =>
fetch('/api/comment/count-star-multi',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
product_id: [productId],
star_least: star_least || 1,
}),
}).then(res => res.json());
try {
const section = document.querySelector('#revue-product-star');
if(productType === "gift_card" && section) {
section.style.display = 'none';
}
} catch(e) {
console.log(e);
window.addEventListener('load', () => {
try {
const section = document.querySelector('#revue-product-star');
if(productType=== "gift_card" && section) {
section.style.display = 'none';
}
} catch(e) {
console.log(e)
}
})
}
const getReviewsConfig = async () => {
let data = {};
const url = new URL(window.location.href);
const preview_theme_id = url.searchParams.get('preview_theme_id');
const commentConfig = await fetch('/api/comment-config', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
}).then(res => res.json());
data = commentConfig.data;
const themeConfig = await fetch(`/api/comment-config?theme_id=${preview_theme_id || ''}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
}).then(res => res.json());
if (themeConfig?.data && themeConfig.data.star_color) {
data.star_color = themeConfig.data.star_color;
}
if (preview_theme_id) {
data.star_least = window.apps_global && apps_global.reviews && apps_global.reviews.preview_star_least;
} else if (themeConfig?.data && themeConfig.data.product_settings) {
data.star_least = themeConfig.data.product_settings.star_least;
}
return data;
};
if (productId && window.SHOPLAZZA.meta.page.template_type == 1) {
getReviewsConfig().then(async res => {
const config = res;
let review = await getProductReviews(config.star_least);
review = review.data[productId];
if (!config.open_status || (!review.comment_avg_star && !config.show_no_comment_star)) return;
const render = async () => {
const section = document.querySelector('#revue-product-star');
const starComponent = document.querySelector('#revue-product-star-component');
const count = document.querySelector('#revue-product-star-count');
count.innerText = review.published_count;
const api = await SPZ.whenApiDefined(starComponent);
api.doRender_({
starNum: review.comment_avg_star,
starTotal: 5,
showStarText: false,
starColor: config.star_color,
totalArray: Array.from({ length: 5 }, (v, k) => k + 1)
});
section.style.opacity = 1;
}
render();
document.addEventListener('dj.editor.update', render);
});
}
} catch (e) {console.warn(e)};
${function() {
const minInventory = parseInt('7');
const maxInventory = parseInt('10');
const randomInventory = Math.round(Math.random() * (maxInventory - minInventory)) + minInventory;
const customText = "Only {stock} item(s) left in stock!".replace(/\{stock\}/g, '' + randomInventory + '');
const barWidth = (randomInventory / maxInventory) * 100 + '%';
return `
`;
}()}
Product was out of stock.
Enjoy free shipping on every order, delivered to your doorstep no matter where you are in the world.
Shop with confidence with our hassle-free returns policy, ensuring you love what you buy.
Designed with the planet in mind, all our products are committed to sustainable practices.
Your payment information is always protected with our advanced, encrypted checkout security.
RELOIVE Baby Balance Bike,Toddler Baby Bicycle with 4 Wheels 10-36 Months, Adjustable Handlebar Baby Outdoor Bike Riding Toy,First Birthday Gift
A baby balance bike is a small ride-on without any pedals, meaning the children propels themselves forward by using their legs and can use the handlebars to change direction.
The bikes are designed to be lightweight so they can be easily operated by the toddler and can usually be used on any surface, whether indoor or outdoor.
Baby balance bikes and similar ride-on toys for toddlers help to develop their motor skills, give toddlers a sense of independence.
-
▶ KEY FEATURES:
🧒【HEIGHT ADJUSTABLE】
RELOIVE baby bike seat heights and the handle angle are adjustable. Handlebar angle can be adjusted between 14.2”-15.9”. The height floor to the seat could be adjusted between 11”-14.5”. This design will meet the baby of different heights and ages. Their feet could touch the floor easily, and ride steadily with no fear. Your baby could still enjoy riding as the kid grows.
👦【GROW IN FUN】
Recommended ages for 10-36 months. The infant balance bike is the best birthday gift for toddlers to learn walking and riding. It helps to develop babies' balance, steering, coordination, and gain confidence at an early age.
👶【SAFELY RIDE】
No pedal and fully widened closed wheel to avoid clamping baby's feet. 135 ° turning limit and gravity steering without leaving the ground to prevent the baby from turning over.
🧒【STURDY & COMFORTABLE DESIGN】
The mini balance bike equips sturdy aluminum alloy frame, non-slip TPU handle, and a softly supportive seat.The mini balance bike wheels are non-slip, wear-resistant and non-destructive floor, and baby can ride indoors or outdoors.
👦【EASY TO ASSEMBLE】
The baby bike adopts a modular design and can be installed in just 2-3 minutes . It is convenient to install or disassemble at any time to carry to any place you want. Bring more indoor or outdoor experiences to your baby.
-
👶【PERFECT GIFT FOR BABIES】
This baby balance bike is made of high-quality material. This ensures that they are safe for any baby. Safe design can be assured as gift for 1 year old boys and girls.
🧒【EASY TO CARRY】
With only 2.7kg (5.9 pounds) of weight, both you and your children can easily carry it around to play. Increased the children’s interest, no need to worry about the children giving up because they can’t move it without your help.
-
▶ SPECIFICATIONS:
Brand: RELOIVE
Weight: 5.9 lbs;
Style: Indoor, Outdoor;
Color: Pink+Blue;
Age Range: 10-36 Months;
Frame Material: Carbon Steel;
Wheel Material: Ethylene Vinyl Acetate (EVA);
Special Feature: Adjustable Handlebars, Adjustable Seat;
Vendor by :
RELOIVE
Sku :
0EIRWA0000001@#RELOIVE120568PJ
Inventory :
999999999
${function(){
const variantData = data.variant || {"id":"33e5f9fc-911b-4762-b47a-619fbfd82893","product_id":"78e1a4b8-53c5-4157-894c-477ec6c3ddc1","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"0EIRWA0000001@#RELOIVE120568PJ","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":150,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"150","retail_price":"0","available":true,"url":"\/products\/reloive-baby-balance-bike-toddler-baby-bicycle-with-4-wheels-10-36-months-adjustable-handlebar-baby-outdoor-bike-riding-toy-first-birthday-gift?variant=33e5f9fc-911b-4762-b47a-619fbfd82893","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"33e5f9fc-911b-4762-b47a-619fbfd82893","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"150","compare_at_price":"","discount_price":"150","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"0","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0};
return `
Vendor by :
${data.product && data.product.vendor}
Weight :
${variantData && variantData.weight}${variantData && variantData.weight_unit}
Barcode :
${variantData && variantData.barcode}
Sku :
${variantData && variantData.sku}
Inventory :
${variantData && variantData.available_quantity}
` }()}