This small cloneable project is 90% webflow native NoCode elements. The only code part here is the 'click outside to close' thingy...
Basically a few lines of code to close the widget whenever the user is clicking anywhere else on the page.
So, we start by adding the toggle animation for opening and closing the widget when clicking the Chat icon:
<script>
$('.email-widget-icon').click(function() {
$('.email-widget-form-block').toggleClass('open-widget');
})
</script>
And of-course the relevant class (which can be also created in Webflow, but then there's the possibility of deleting it when performing a cleanup):
<style>
.open-widget {
transform: scale(1);
Opacity: 1;
}
</style>
And lastly we add the 'click-outside-to-close' part, which checks if our mouse pointer is inside or outside the widget:
<script>
$(document).mouseup(function(e)
{
var container = $(".email-widget-wrap");
if (!container.is(e.target) && container.has(e.target).length === 0)
{
$(".email-widget-form-block").removeClass('open-widget');
}
});
</script>
Whenever possible, use Class Names to target the elements in your interaction. You never know when you'll need to duplicate and use it somewhere else...