<style> html, body { -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } * { box-sizing: inherit; cursor: inherit; transition-duration: 0.2s; transition-property: none; transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1); } label.field { border-radius: 2px; color: black; display: block; margin: 0px; max-width: 100%; min-width: 100%; padding: 8px; opacity: 0; position: relative; transition-property: opacity; z-index: 1; } label.field span { color: inherit; display: block; font-size: 16px; height: 20px; line-height: 20px; left: 9px; pointer-events: none; position: absolute; top: 32px; transform: scale(1) translateY(0); transition-property: color, font-size, top; z-index: 1; } label.field span.required::after { color: inherit; content: "*"; display: block; height: 20px; left: -20px; line-height: 20px; position: absolute; text-align: center; top: 0; width: 20px; } .error label.field span { color: #F02318; } label.field .psuedo_select { background: rgba(255, 255, 255, 0); position: relative; border-color: black; border-style: solid; border-width: 0 0 1.2px 0; color: black; cursor: pointer; font-size: 14px; height: 24px; line-height: 24px; margin: 28px 0px 0 0; min-width: 250px; width: 100%; padding-top: 24px; outline: 0; z-index: 1; } label.field .psuedo_select::after { background: url("data:image/svg+xml;utf8,<svg fill='#666' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'> <path d='M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z'/> <path d='M0-.75h24v24H0z' fill='none'/> </svg>"), no-repeat; content: ""; height: 24px; width: 24px; position: absolute; top: 0; right: 0; transition-property: background; } label.field .psuedo_select .selected { height: 24px; left: 1px; line-height: 24px; opacity: 0; position: absolute; top: 0; transform: translateY(24px); transition-property: opacity, transform; will-change: transform; } label.field .psuedo_select ul { background: #fff; box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.14); display: block; height: 0; list-style: none; margin-top: 2px; opacity: 0; overflow: hidden; padding: 0px 10px 10px 10px; pointer-events: none; transition-property: height, opacity; width: 100%; z-index: 2; } label.field .psuedo_select ul li { height: 32px; padding: 8px 8px 8px 8px; } label.field .deselect { height: 100vh; left: 0; position: fixed; top: 0; width: 100vw; z-index: -1; } label.field.focused { color: black; } label.field.focused .psuedo_select { border-color: black; } label.field.focused .psuedo_select::after { background: url("data:image/svg+xml;utf8,<svg fill='#007BED' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'> <path d='M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z'/> <path d='M0-.75h24v24H0z' fill='none'/> </svg>"), no-repeat; } label.field.focused .psuedo_select ul { opacity: 1; pointer-events: all; } ul#img_category_options { min-height: 166px; } label#img_category_label { min-width: 100%; } </style> <label id="img_category_label" class="field" for="img_category" data-value=""> <span>Aktivitet</span> <div id="img_category" class="psuedo_select" name="img_category"> <span class="selected"></span> <ul id="img_category_options" class="options"> <li class="option" data-value="*">Alle</li> <li class="option" data-value="Frokostmøte">Frokostmøte</li> <li class="option" data-value="Temamøte">Temamøte</li> <li class="option" data-value="Møtebørs">Møtebørs</li> <li class="option" data-value="Turer">Turer</li> </ul> </div> </label> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.isotope/3.0.6/isotope.pkgd.min.js"></script> <script> $(document).ready(function() { // Initialize Isotope var $grid = $('.aktivitet-grid').isotope({ itemSelector: '.aktivitet-item', layoutMode: 'vertical' }); // Function to create and manage filter display function manageFilterDisplay(filterValue, selectedText) { // Select elements by class instead of ID var $filterDisplayContainers = $('.filterDisplayContainer'); // Clear previous filter display in all containers $filterDisplayContainers.each(function() { $(this).empty(); }); if (filterValue !== '*') { var $filterDisplay = $('<button class="filter-display">' + selectedText + ' <span class="remove-filter">×</span></button>'); // Append the filter display button to each container $filterDisplayContainers.each(function() { $(this).append($filterDisplay.clone(true)); // Clone with events using .clone(true) }); // Click event to remove filter, now set directly on the button $filterDisplay.on('click', '.remove-filter', function() { // Reset Isotope filter to show all $grid.isotope({ filter: '*' }); // Reset the pseudo-select display $('#img_category .selected').text('Alle'); // or your default text // Clear all filter display containers $filterDisplayContainers.empty(); }); } } // Custom dropdown event handling $('#img_category_options').on('click', '.option', function() { var filterValue = $(this).attr('data-value'); var selectedText = $(this).text(); // Apply the filter to Isotope $grid.isotope({ filter: filterValue === '*' ? '*' : '[data-category="' + filterValue + '"]' }); // Update the displayed selected value in the pseudo-select $('#img_category .selected').text(selectedText); // Manage filter display manageFilterDisplay(filterValue, selectedText); }); }); </script> <script> var util = { f: { addStyle: function (elem, prop, val, vendors) { var i, ii, property, value; if (!util.f.isElem(elem)) { elem = document.getElementById(elem); } if (!util.f.isArray(prop)) { prop = [prop]; val = [val]; } for (i = 0; i < prop.length; i += 1) { var thisProp = String(prop[i]), thisVal = String(val[i]); if (typeof vendors !== "undefined") { if (!util.f.isArray(vendors)) { vendors.toLowerCase() == "all" ? (vendors = ["webkit", "moz", "ms", "o"]) : (vendors = [vendors]); } for (ii = 0; ii < vendors.length; ii += 1) { elem.style[vendors[i] + thisProp] = thisVal; } } thisProp = thisProp.charAt(0).toLowerCase() + thisProp.slice(1); elem.style[thisProp] = thisVal; } }, cssLoaded: function (event) { var child = util.f.getTrg(event); child.setAttribute("media", "all"); }, events: { cancel: function (event) { util.f.events.prevent(event); util.f.events.stop(event); }, prevent: function (event) { event = event || window.event; event.preventDefault(); }, stop: function (event) { event = event || window.event; event.stopPropagation(); } }, getSize: function (elem, prop) { return parseInt(elem.getBoundingClientRect()[prop], 10); }, getTrg: function (event) { event = event || window.event; if (event.srcElement) { return event.srcElement; } else { return event.target; } }, isElem: function (elem) { return util.f.isNode(elem) && elem.nodeType == 1; }, isArray: function (v) { return v.constructor === Array; }, isNode: function (elem) { return typeof Node === "object" ? elem instanceof Node : elem && typeof elem === "object" && typeof elem.nodeType === "number" && typeof elem.nodeName === "string" && elem.nodeType !== 3; }, isObj: function (v) { return typeof v == "object"; }, replaceAt: function (str, index, char) { return str.substr(0, index) + char + str.substr(index + char.length); } } }, ////////////////////////////////////// // ok that's all the utilities // // onto the select box / form stuff // ////////////////////////////////////// form = { f: { init: { register: function () { console.clear(); // just cuz codepen var child, children = document.getElementsByClassName("field"), i; for (i = 0; i < children.length; i += 1) { child = children[i]; util.f.addStyle(child, "Opacity", 1); } children = document.getElementsByClassName("psuedo_select"); for (i = 0; i < children.length; i += 1) { child = children[i]; child.addEventListener("click", form.f.select.toggle); } }, unregister: function () { //just here as a formallity //call this to stop all ongoing timeouts are ready the page for some sort of json re-route } }, select: { blur: function (field) { field.classList.remove("focused"); var child, children = field.childNodes, i, ii, nested_child, nested_children; for (i = 0; i < children.length; i += 1) { child = children[i]; if (util.f.isElem(child)) { if (child.classList.contains("deselect")) { child.parentNode.removeChild(child); } else if (child.tagName == "SPAN") { if (!field.dataset.value) { util.f.addStyle(child, ["FontSize", "Top"], ["16px", "32px"]); } } else if (child.classList.contains("psuedo_select")) { nested_children = child.childNodes; for (ii = 0; ii < nested_children.length; ii += 1) { nested_child = nested_children[ii]; if (util.f.isElem(nested_child)) { if (nested_child.tagName == "SPAN") { if (!field.dataset.value) { util.f.addStyle( nested_child, ["Opacity", "Transform"], [0, "translateY(24px)"] ); } } else if (nested_child.tagName == "UL") { util.f.addStyle(nested_child, ["Height", "Opacity"], [0, 0]); } } } } } } }, focus: function (field) { field.classList.add("focused"); var bool = false, child, children = field.childNodes, i, ii, iii, nested_child, nested_children, nested_nested_child, nested_nested_children, size = 0; for (i = 0; i < children.length; i += 1) { child = children[i]; util.f.isElem(child) && child.classList.contains("deselect") ? (bool = true) : null; } if (!bool) { child = document.createElement("div"); child.className = "deselect"; child.addEventListener("click", form.f.select.toggle); field.insertBefore(child, children[0]); } for (i = 0; i < children.length; i += 1) { child = children[i]; if (util.f.isElem(child) && child.classList.contains("psuedo_select")) { nested_children = child.childNodes; for (ii = 0; ii < nested_children.length; ii += 1) { nested_child = nested_children[ii]; if (util.f.isElem(nested_child) && nested_child.tagName == "UL") { size = 0; nested_nested_children = nested_child.childNodes; for (iii = 0; iii < nested_nested_children.length; iii += 1) { nested_nested_child = nested_nested_children[iii]; if ( util.f.isElem(nested_nested_child) && nested_nested_child.tagName == "LI" ) { size += util.f.getSize(nested_nested_child, "height"); console.log("size: " + size); } } util.f.addStyle(nested_child, ["Height", "Opacity"], [size + "px", 1]); } } } } }, selection: function (child, parent) { var children = parent.childNodes, i, ii, nested_child, nested_children, time = 0, value; if (util.f.isElem(child) && util.f.isElem(parent)) { parent.dataset.value = child.dataset.value; value = child.innerHTML; } for (i = 0; i < children.length; i += 1) { child = children[i]; if (util.f.isElem(child)) { if (child.classList.contains("psuedo_select")) { nested_children = child.childNodes; for (ii = 0; ii < nested_children.length; ii += 1) { nested_child = nested_children[ii]; if ( util.f.isElem(nested_child) && nested_child.classList.contains("selected") ) { if (nested_child.innerHTML) { time = 1e2; util.f.addStyle( nested_child, ["Opacity", "Transform"], [0, "translateY(24px)"], "all" ); } setTimeout( function (c, v) { c.innerHTML = v; util.f.addStyle( c, ["Opacity", "Transform", "TransitionDuration"], [1, "translateY(0px)", ".1s"], "all" ); }, time, nested_child, value ); } } } else if (child.tagName == "SPAN") { util.f.addStyle(child, ["FontSize", "Top"], ["12px", "8px"]); } } } }, toggle: function (event) { util.f.events.stop(event); var child = util.f.getTrg(event), children, i, parent; switch (true) { case child.classList.contains("psuedo_select"): case child.classList.contains("deselect"): parent = child.parentNode; break; case child.classList.contains("options"): parent = child.parentNode.parentNode; break; case child.classList.contains("option"): parent = child.parentNode.parentNode.parentNode; form.f.select.selection(child, parent); break; } parent.classList.contains("focused") ? form.f.select.blur(parent) : form.f.select.focus(parent); } } } }; window.onload = form.f.init.register; </script>
Kommende aktiviteter.
Bygg relasjoner - skap business!
<script> document.addEventListener('DOMContentLoaded', function() { const buttons = document.querySelectorAll('.calendar-button'); buttons.forEach(button => { button.addEventListener('click', () => { const config = { name: button.getAttribute('data-name'), description: button.getAttribute('data-description'), startDate: button.getAttribute('data-startDate'), startTime: button.getAttribute('data-startTime'), endDate: button.getAttribute('data-endDate'), endTime: button.getAttribute('data-endTime'), timeZone: button.getAttribute('data-timeZone'), location: button.getAttribute('data-location'), organizer: button.getAttribute('data-organizer'), options: JSON.parse(button.getAttribute('data-options')), listStyle: button.getAttribute('data-listStyle'), language: button.getAttribute('data-language') }; atcb_action(config, button); }); }); }); </script>
17.10.2024
Møtebørs
Bjerke Travbane, OsloVi arrangerer møtebørs inntil 6 ganger i året. Her avholder vi effektive speed-møter, hvor du møter 8 bedrifter på 2 timer.
<script type="application/javascript"> const config = { styleLight: "--overlay-cursor: default;", name: "Møtebørs", description: "Info", hideBranding: true, startDate: "2024-10-17", startTime: "09:00", endDate: "2024-10-17", endTime: "11:00", timeZone: "Europe/Oslo", location: "Bjerke Travbane, Oslo", organizer: "Forretningsnettverket|[email protected]", options: ["Apple", "Google", "iCal", "Outlook.com", "Yahoo", "Microsoft365"], listStyle: "overlay", language: "no" }; document.addEventListener('DOMContentLoaded', function() { const buttons = document.querySelectorAll('.calendar-button'); buttons.forEach(button => { button.addEventListener('click', () => atcb_action(config, button)); }); }); </script>
22.10.2024
Frokostmøte
The Well, FolloØnsker du business uten å måtte ta «cold calls»? Vi holder frokostmøter i Oslo, Follo og Moss, og her møter du ulike bedrifter fra de fleste bransjer.
Bli med som gjest og bli kjent med nye og spennende bedrifter!
<script type="application/javascript"> const config = { styleLight: "--overlay-cursor: default;", name: "Frokostmøte", description: "Info", hideBranding: true, startDate: "2024-10-22", startTime: "07:00", endDate: "2024-10-22", endTime: "09:00", timeZone: "Europe/Oslo", location: "The Well, Follo", organizer: "Forretningsnettverket|[email protected]", options: ["Apple", "Google", "iCal", "Outlook.com", "Yahoo", "Microsoft365"], listStyle: "overlay", language: "no" }; document.addEventListener('DOMContentLoaded', function() { const buttons = document.querySelectorAll('.calendar-button'); buttons.forEach(button => { button.addEventListener('click', () => atcb_action(config, button)); }); }); </script>
05.11.2024
Frokostmøte
Scandic Hotell, Solli, OsloØnsker du business uten å måtte ta «cold calls»? Vi holder frokostmøter i Oslo, Follo og Moss, og her møter du ulike bedrifter fra de fleste bransjer.
Bli med som gjest og bli kjent med nye og spennende bedrifter!
<script type="application/javascript"> const config = { styleLight: "--overlay-cursor: default;", name: "Frokostmøte", description: "Info", hideBranding: true, startDate: "2024-11-05", startTime: "07:00", endDate: "2024-11-05", endTime: "09:00", timeZone: "Europe/Oslo", location: "Scandic Hotell, Solli, Oslo", organizer: "Forretningsnettverket|[email protected]", options: ["Apple", "Google", "iCal", "Outlook.com", "Yahoo", "Microsoft365"], listStyle: "overlay", language: "no" }; document.addEventListener('DOMContentLoaded', function() { const buttons = document.querySelectorAll('.calendar-button'); buttons.forEach(button => { button.addEventListener('click', () => atcb_action(config, button)); }); }); </script>
06.11.2024
Frokostmøte
Storebaug Hotell & Kro, MossØnsker du business uten å måtte ta «cold calls»? Vi holder frokostmøter i Oslo, Follo og Moss, og her møter du ulike bedrifter fra de fleste bransjer.
Bli med som gjest og bli kjent med nye og spennende bedrifter!
<script type="application/javascript"> const config = { styleLight: "--overlay-cursor: default;", name: "Frokostmøte", description: "Info", hideBranding: true, startDate: "2024-11-06", startTime: "07:00", endDate: "2024-11-06", endTime: "09:00", timeZone: "Europe/Oslo", location: "Storebaug Hotell & Kro, Moss", organizer: "Forretningsnettverket|[email protected]", options: ["Apple", "Google", "iCal", "Outlook.com", "Yahoo", "Microsoft365"], listStyle: "overlay", language: "no" }; document.addEventListener('DOMContentLoaded', function() { const buttons = document.querySelectorAll('.calendar-button'); buttons.forEach(button => { button.addEventListener('click', () => atcb_action(config, button)); }); }); </script>
24.09.2024
{acf_tittel}
Bjerke Travbane, Oslo
Ønsker du business uten å måtte ta «cold calls»? Vi holder B2B-møter på ettermiddager, og her møter du ulike bedrifter fra de fleste bransjer.
Bli med som gjest og bli kjent med nye og spennende bedrifter!
28.05.2024
{acf_tittel}
The Well, Follo
Ønsker du business uten å måtte ta «cold calls»? Vi holder frokostmøter i Oslo, Follo og Moss, og her møter du ulike bedrifter fra de fleste bransjer.
Bli med som gjest og bli kjent med nye og spennende bedrifter!
23.05.2024
{acf_tittel}
Epicenter Oslo, Oslo
Ønsker du business uten å måtte ta «cold calls»? Vi holder frokostmøter i Oslo, Follo og Moss, og her møter du ulike bedrifter fra de fleste bransjer.
Bli med som gjest og bli kjent med nye og spennende bedrifter!
ForretningsBloggen
Post 1
Dynamisk Data