Changeset 23453
- Timestamp:
- 2014/05/28 03:58:09 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_13-dev/html/user_data/packages/admin/js/eccube.admin.js
r23451 r23453 356 356 }; 357 357 358 eccube.navi = {}; 359 360 eccube.navi.openMenu = function($target) { 361 $target 362 // 対象を開く 363 .addClass('sfhover') 364 // 対象以外を閉じる 365 .siblings('li') 366 .removeClass('sfhover') 367 .find('li').removeClass('sfhover'); 368 }; 369 358 370 // グローバルに使用できるようにする 359 371 window.eccube = eccube; … … 367 379 $("#navi").find("div").click(function(){ 368 380 naviClicked = true; 381 $("#navi").addClass('active'); 369 382 370 383 var parent = $(this).parent('li'); 371 var level1 = $(this).parents('li.on_level1'); 372 373 if (parent.hasClass('on_level1')) { 374 // クリックしたメニューが第1階層なら開閉を切り替え. 375 if (!parent.hasClass('sfhover')) { 376 parent.addClass('clicked'); 377 } else if (parent.hasClass('clicked')) { 378 parent.removeClass('clicked'); 379 } 380 } else { 381 // 第2階層以下なら第1階層を開いた状態にする. 382 level1.addClass('clicked'); 383 } 384 // クリックしたメニュー以外のメニューを閉じる. 385 level1.siblings('li') 386 .removeClass('clicked') 387 .removeClass('sfhover') 388 .find('li').removeClass('sfhover'); 389 390 // ナビゲーションがアクティブであれば、マウスオーバーを有効に. 391 $("#navi") 392 .on('mouseleave', function(){ 393 $(this).not(':has(li.on_level1.clicked)').find('li') 394 .off('mouseenter') 395 .off('mouseleave'); 396 }) 397 .has('li.on_level1.clicked').find('li.on_level1').hover( 398 function(){ 399 $(this) 400 .addClass('sfhover') 401 .siblings('li') 402 .removeClass('sfhover') 403 .removeClass('clicked') 404 .find('li').removeClass('sfhover'); 405 }, 406 function(){ 407 $(this).not('.clicked').removeClass('sfhover'); 408 } 409 ); 410 411 if (parent.hasClass('clicked')) { 412 parent.addClass('sfhover'); 413 } else if (parent.hasClass('sfhover')) { 414 parent 415 .removeClass('sfhover') 416 .find('li').removeClass('sfhover'); 417 } else { 418 parent 419 .addClass('sfhover') 420 .siblings('li') 421 .removeClass('sfhover') 422 .find('li').removeClass('sfhover'); 384 385 // 開閉を切り替え. 386 if (!parent.hasClass('sfhover')) { 387 eccube.navi.openMenu(parent); 388 } else { 389 parent.removeClass('sfhover'); 390 } 391 }); 392 // ナビゲーションがアクティブであれば、マウスオーバーを有効に. 393 $("#navi").find('li').hover(function(){ 394 if ($("#navi").hasClass('active')) { 395 eccube.navi.openMenu($(this)); 423 396 } 424 397 }); … … 426 399 $(document).click(function(){ 427 400 if (!naviClicked) { 428 $("#navi").find('li') 429 .off('mouseenter') 430 .off('mouseleave') 431 .removeClass('sfhover') 432 .removeClass('clicked'); 401 $("#navi") 402 .removeClass('active') 403 .find('li') 404 .removeClass('sfhover') 433 405 } else { 434 406 naviClicked = false;
Note: See TracChangeset
for help on using the changeset viewer.