Learn to Knit Club (Friday, 2/9, 2/16, 2/23, 3/1, 5 - 6:30pm)

Island Yarn


$ 90.00
Learn to Knit Club (Friday, 2/9, 2/16, 2/23, 3/1, 5 - 6:30pm)
Learn to Knit Club 
In our first step Learn to Knit Club, you'll learn to cast on, knit, purl and bind off and end up with this fantastic knitting bag!  This club is for absolute beginners - those of you who have never knit before - we'll get you going on the path to fibery happiness!  We'll meet for 4 classes to make sure you really have your skills all set!  Included in this price is access to all clinic hours while the class is in session so that you can pop in between classes if you fall off track.  We will also provide you with a pattern and a crib sheet for reading patterns.  
Dates: Friday, Friday, 2/9, 2/16, 2/23, 3/1, 5 - 6:30pm
Cost: $90
Taught by Kim Mitchell
(Cost does not include supplies.  Supplies must be purchased at Island Yarn anytime before the first class.)
Classes are non-refundable, so please check your calendar to make sure you can make each meeting.  If something comes up, you can check with the teacher about a reschedule, but it is at their convenience and discretion.

Related Products


const selectVariantByClickingImage = { // Create variant images from productJson object _createVariantImage: function (product) { const variantImageObject = {}; product.variants.forEach((variant) => { if ( typeof variant.featured_image !== 'undefined' && variant.featured_image !== null ) { const variantImage = variant.featured_image.src .split('?')[0] .replace(/http(s)?:/, ''); variantImageObject[variantImage] = variantImageObject[variantImage] || {}; product.options.forEach((option, index) => { const optionValue = variant.options[index]; const optionKey = `option-${index}`; if ( typeof variantImageObject[variantImage][optionKey] === 'undefined' ) { variantImageObject[variantImage][optionKey] = optionValue; } else { const oldValue = variantImageObject[variantImage][optionKey]; if (oldValue !== null && oldValue !== optionValue) { variantImageObject[variantImage][optionKey] = null; } } }); } }); return variantImageObject; }, _updateVariant: function (event, id, product, variantImages) { const arrImage = event.target.src .split('?')[0] .replace(/http(s)?:/, '') .split('.'); const strExtention = arrImage.pop(); const strRemaining = arrImage.pop().replace(/_[a-zA-Z0-9@]+$/, ''); const strNewImage = `${arrImage.join('.')}.${strRemaining}.${strExtention}`; if (typeof variantImages[strNewImage] !== 'undefined') { product.variants.forEach((option, index) => { const optionValue = variantImages[strNewImage][`option-${index}`]; if (optionValue !== null && optionValue !== undefined) { const selects = document.querySelectorAll('#'+ id + ' [class*=single-option-selector]'); const options = selects[index].options; for (let option, n = 0; (option = options[n]); n += 1) { if (option.value === optionValue) { selects[index].selectedIndex = n; selects[index].dispatchEvent(new Event('change')); break; } } } }); } }, _selectVariant: function() { const productJson = document.querySelectorAll('[id^=ProductJson-'); if (productJson.length > 0) { productJson.forEach((product) => { const sectionId = product.id.replace("ProductJson-", "shopify-section-"); const thumbnails = document.querySelectorAll('#'+ sectionId + ' img[src*="/products/"]'); if (thumbnails.length > 1) { const productObject = JSON.parse(product.innerHTML); const variantImages = this._createVariantImage(productObject); // need to check variants > 1 if (productObject.variants.length > 1) { thumbnails.forEach((thumbnail) => { thumbnail.addEventListener('click', (e) => this._updateVariant(e, sectionId, productObject, variantImages), ); }); } } }); } }, }; if (document.readyState !== 'loading') { selectVariantByClickingImage._selectVariant(); } else { document.addEventListener( 'DOMContentLoaded', selectVariantByClickingImage._selectVariant(), ); }