From: vincent@cubedesigners.com Date: Thu, 21 Jul 2016 10:14:26 +0000 (+0000) Subject: wip #573 @1 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=a36b347576c05e4bb57ed79c0ad5f22c54914482;p=fluidbook-v3.git wip #573 @1 --- diff --git a/framework/application/forms/CMS/Sub/Home/Block.php b/framework/application/forms/CMS/Sub/Home/Block.php index bee7d1a..e7c9f8e 100644 --- a/framework/application/forms/CMS/Sub/Home/Block.php +++ b/framework/application/forms/CMS/Sub/Home/Block.php @@ -3,7 +3,7 @@ class Fluidbook_Form_CMS_Sub_Home_Block extends CubeIT_Form_SubForm { public function init() { parent::init(); - + $title = new Zend_Form_Element_Text('title'); $title->setLabel('Titre'); $title->setOrder(10); @@ -21,6 +21,11 @@ class Fluidbook_Form_CMS_Sub_Home_Block extends CubeIT_Form_SubForm { $button->setOrder(30); $this->addSubForm($button, 'button'); + $headerStyle = new Zend_Form_Element_Select('headerstyle'); + $headerStyle->setLabel('Style du header'); + $headerStyle->setMultiOptions(array('light' => 'Clair', 'dark' => 'Foncé')); + $this->addElement($headerStyle); + $themeColor = new CubeIT_Form_Element_Color('themecolor'); $themeColor->setLabel('Couleur de thème (puces, boutons)'); $themeColor->setOrder(40); diff --git a/framework/application/views/helpers/HomeLayer.php b/framework/application/views/helpers/HomeLayer.php index 7153807..ca2cc7a 100644 --- a/framework/application/views/helpers/HomeLayer.php +++ b/framework/application/views/helpers/HomeLayer.php @@ -4,7 +4,7 @@ class Fluidbook_View_Helper_HomeLayer extends CubeIT_View_Helper_Abstract { public $data; protected function _layer($content, $class, $attributes = array()) { - $defaultAttributes = array('class' => $class); + $defaultAttributes = array('class' => $class, 'data-headerstyle' => $this->data['headerstyle']); $attributes = $this->_mergeAttributes($attributes, $defaultAttributes); $content = $this->backgroundBlock($content, $this->data, array('content-wrapper', 'no-shrink', 'fullheight')); diff --git a/js/101-header.js b/js/101-header.js index 4a9db39..c51675f 100644 --- a/js/101-header.js +++ b/js/101-header.js @@ -4,16 +4,25 @@ var lastDirChange = 0; var scrolledDistance = 0; var headerPos = 0; var htl; +var home = false; registerLoader(load_header, true); function load_header() { var h = $('#h'); + home = $("body").hasClass('home'); + + var bgcolor = "#fff"; + var boxshadow = '0 0 120px rgba(0,0,0,0.3)'; + if (home) { + bgcolor = 'transparent'; + boxshadow = '0 0 0 rgba(0,0,0,0)'; + } htl = new TimelineMax(); // Background-color & height htl.add(TweenMax.fromTo(h, 1.5, {height: 90}, {height: 75}), 0); - htl.add(TweenMax.fromTo(h, 1, {backgroundColor: 'transparent', boxShadow: '0 0 0 rgba(0,0,0,0)'}, {backgroundColor: "#fff", boxShadow: '0 0 120px rgba(0,0,0,0.3)'}), 1); + htl.add(TweenMax.fromTo(h, 1, {backgroundColor: 'transparent', boxShadow: '0 0 0 rgba(0,0,0,0)'}, {backgroundColor: bgcolor, boxShadow: boxshadow}), 1); htl.add(TweenMax.fromTo($(h).find('#header'), 1.5, {height: 90}, {height: 56}), 0); // Logo @@ -90,6 +99,9 @@ function headerScroll() { } // Normalize top value var top = Math.max(-headerHeight, Math.min(adminHeight, htop + adminHeight)); + if (home) { + top = adminHeight; + } $(h).css('top', top); var icon = $("#nav-icon"); $(icon).css('top', ''); @@ -97,4 +109,28 @@ function headerScroll() { // Update formerScroll = s; scrollUp = goingUp; + + if (home) { + changeHeaderStyle(); + } +} + +function changeHeaderStyle() { + var scrollTop = $(window).scrollTop(); + var wh = $(window).height(); + var section; + $('main>section').each(function () { + var offset = $(this).offset().top; + if (scrollTop >= offset && scrollTop <= offset + wh - 50) { + section = $(this); + } + }); + + var headerClass = $(section).data('headerstyle'); + if (headerClass == 'light') { + $("header").addClass('light').removeClass('dark'); + } else { + $("header").addClass('dark').removeClass('light'); + } + } \ No newline at end of file