照明设计服务

我们的照明专家正在以新颖而激动人心的方式开展工作,并采用新的方法进行互动和交流。我们启发并创建照明解决方案,以反映您自己的独特风格。

我们喜欢简短的对话。因此,如果您正在启动一个项目并希望获得一些友好的建议,为什么不利用初步咨询呢?您可能只需要在店内选择灯的建议,但是我们的对话将帮助我们理解您的空间挑战。我们可以讨论增强它的方法,您可以决定是否足够,或者您是否希望在正式设计方面进行更详细的输入。

设计页面查找更多页面

设计

照明是对设计了解最少的方面之一,但提供了一些最具变革性的效果。从项目的早期阶段就与您合作,我们将帮助开发富有创意的真正原始的照明。让我们详细说明我们的设计团队将提供什么以及我们将为您做些什么。

通过经验,我们了解到我们的客户在照明设计方面都有不同的需求。以下是我们已成功完成的一些项目:

大车

篮子里没有产品。

tag on yout theme's header.php Read the detailed step-by-step at //humbertosilva.com/visual-composer-infinite-image-carousel/ */ // auxiliary code to create triggers for the add and remove class for later use (function($){ $.each(["addClass","removeClass"],function(i,methodname){ var oldmethod = $.fn[methodname]; $.fn[methodname] = function(){ oldmethod.apply( this, arguments ); this.trigger(methodname+"change"); return this; } }); })(jQuery); // main function for the infinite loop function vc_custominfiniteloop_init(vc_cil_element_id){ var vc_element = '#' + vc_cil_element_id; // because we're using this more than once let's create a variable for it window.maxItens = jQuery(vc_element).data('per-view'); // max visible items defined window.addedItens = 0; // auxiliary counter for added itens to the end // go to slides and duplicate them to the end to fill space jQuery(vc_element).find('.vc_carousel-slideline-inner').find('.vc_item').each(function(){ // we only need to duplicate the first visible images if (window.addedItens < window.maxItens) { if (window.addedItens == 0 ) { // the fisrt added slide will need a trigger so we know it ended and make it "restart" without animation jQuery(this).clone().addClass('vc_custominfiniteloop_restart').removeClass('vc_active').appendTo(jQuery(this).parent()); } else { jQuery(this).clone().removeClass('vc_active').appendTo(jQuery(this).parent()); } window.addedItens++; } }); // add the trigger so we know when to "restart" the animation without the user knowing about it jQuery('.vc_custominfiniteloop_restart').bind('addClasschange', null, function(){ // navigate to the carousel element , I know, its ugly ... var vc_carousel = jQuery(this).parent().parent().parent().parent(); // first we temporarily change the animation speed to zero jQuery(vc_carousel).data('vc.carousel').transition_speed = 0; // make the slider go to the first slide without animation and because the fist set of images shown // are the same that are being shown now the slider is now "restarted" without that being visible jQuery(vc_carousel).data('vc.carousel').to(0); // allow the carousel to go to the first image and restore the original speed setTimeout("vc_cil_restore_transition_speed('"+jQuery(vc_carousel).prop('id')+"')",100); }); } // restore original speed setting of vc_carousel function vc_cil_restore_transition_speed(element_id){ // after inspecting the original source code the value of 600 is defined there so we put back the original here jQuery('#' + element_id).data('vc.carousel').transition_speed = 600; } // init jQuery(document).ready(function(){ // find all vc_carousel with the defined class and turn them into infine loop jQuery('.vc_custominfiniteloop').find('div[data-ride="vc_carousel"]').each(function(){ // allow time for the slider to be built on the page // because the slider is "long" we can wait a bit before adding images and events needed var vc_cil_element = jQuery(this).prop("id"); setTimeout("vc_custominfiniteloop_init('"+vc_cil_element+"')",2000); }); });