Menu Açıldığında Logoyu Ekrandan Kaybetme

ÇılgınPHP

Çalışkan Üye
Katılım
11 Mar 2018
Mesajlar
176
Beğeniler
0
Mouseover olunca açılan bir menüm var menüm açıldığında logomun sağa doğru kayarak ekrandan kaybolmasını istiyorum.
Kod:
	<div class="container">
			<ul id="gn-menu" class="gn-menu-main">
				<li class="gn-trigger">
					<a class="gn-icon gn-icon-menu"><span>Menu</span></a>
					<nav class="gn-menu-wrapper">
						<div class="gn-scroller">
							<ul class="gn-menu">
								<li >
	
									<a class="gn-icon gn-icon-download">Anasayfa</a>
								</li>
								<li>
									<a class="gn-icon gn-icon-download">Iletisim</a>
									
								</li>

								<li><a class="gn-icon gn-icon-download">Hakkımızda</a></li>
								
							</ul>
						</div><!-- /gn-scroller -->
					</nav>
				</li>
	
				<li></li>
			</ul>
			<header>
			<div id = "logo" style = "position:relative;">
				<h1>Buraya LOGO GELECEK <span>ASE ANASAYFA</span></h1>	
				</div>
			</header> 
		</div><!-- /container -->
Kod:
function gnMenu( el, options ) {	
		this.el = el;
		this._init();
	}

	gnMenu.prototype = {
		_init : function() {
			this.trigger = this.el.querySelector( 'a.gn-icon-menu' );
			this.menu = this.el.querySelector( 'nav.gn-menu-wrapper' );
			this.isMenuOpen = false;
			this.eventtype = mobilecheck() ? 'touchstart' : 'click';
			this._initEvents();

			var self = this;
			this.bodyClickFn = function() {
				self._closeMenu();
				this.removeEventListener( self.eventtype, self.bodyClickFn );
			};
		},
		_initEvents : function() {
			var self = this;

			if( !mobilecheck() ) {
				this.trigger.addEventListener( 'mouseover', function(ev) { self._openIconMenu(); } );
				this.trigger.addEventListener( 'mouseout', function(ev) { self._closeIconMenu(); } );
			
				this.menu.addEventListener( 'mouseover', function(ev) {

					self._openMenu(); 
					document.addEventListener( self.eventtype, self.bodyClickFn );
					 
				} );
			}
			this.trigger.addEventListener( this.eventtype, function( ev ) {
				ev.stopPropagation();
				ev.preventDefault();
				if( self.isMenuOpen ) {

					self._closeMenu();
					document.removeEventListener( self.eventtype, self.bodyClickFn );
				}
				else {
					
					self._openMenu();
					document.addEventListener( self.eventtype, self.bodyClickFn );
				}
			} );
			this.menu.addEventListener( this.eventtype, function(ev) { ev.stopPropagation(); } );
		},
		_openIconMenu : function() {
			classie.add( this.menu, 'gn-open-part' );

		},
		_closeIconMenu : function() {
			classie.remove( this.menu, 'gn-open-part' );
		},
		_openMenu : function() {
			
			if( this.isMenuOpen ) return;
			classie.add( this.trigger, 'gn-selected' );
			this.isMenuOpen = true;
			$("#logo").animate({left:"300px"},"slow");
			classie.add( this.menu, 'gn-open-all' );
			this._closeIconMenu();
		},
		_closeMenu : function() {

			if( !this.isMenuOpen ) return;
			classie.remove( this.trigger, 'gn-selected' );
			this.isMenuOpen = false;
			classie.remove( this.menu, 'gn-open-all' );
			this._closeIconMenu();
		}
	}

	// add to global namespace
	window.gnMenu = gnMenu;

} )( window );
 

Şu anda bu konu'yu okuyan kullanıcılar

Benzer konular

Üst