「mouseenter」イベントを既存のクリック機能の上に追加のマウスホブ機能で実験してきましたが、意図した効果を達成するための正しい式が見つからないようです。
元のコード:
$('.navhandle, .navcontainer, #tray-button, .page-template-template-home-php .lines, .single-portfolio .lines').hover(
function(){ $('#supersized img').addClass('resize'); //add class for css3 transitions
$thisid = $(this).attr("id");
$thisclass = $(this).attr("class");
$navnow = $('.navhandle').css('left');
if ($navnow == navhandleinit) {
if (($thisid == 'tray-button')) {
$('#thumb-tray').stop().animate({bottom : 0}, 300);
}
$('#prevslide').stop().animate({left: 25 }, 500, 'easeOutCubic');
$('.navcontainer').stop().animate({ left: -210 }, 500, 'easeOutCubic');
$('.navhandle').stop().animate({ left: -10 }, 500, 'easeOutCubic');
$('.mainbody').stop().animate({marginLeft: 10}, 500, 'easeOutCubic', function(){ $('#supersized img').removeClass('resize'); }); //remove css3 transition class after completion
$('.videowrapper').animate({width: '120%', paddingLeft:0}, 500, 'easeOutCubic');
$('.nav').fadeOut(500, 'easeOutCubic');
$('.navhandle').toggleClass("rightarrow");
},function(){ $('#prevslide').stop().animate({left: 245}, 500, 'easeOutCubic');
$('.navcontainer').stop().animate({ left: 0 }, 500, 'easeOutCubic');
$('.navhandle').stop().animate({ left: navhandleinit}, 500, 'easeOutCubic');
$('.mainbody').stop().animate({marginLeft: 220}, 500, 'easeOutCubic', function(){ $('#supersized img').removeClass('resize'); }); //remove css3 transition class after completion
$('#thumb-tray').stop().animate({bottom : -$('#thumb-tray').height()}, 300);
$('.videowrapper').animate({paddingLeft: 220, width: '100%'}, 500, 'easeOutCubic');
$('.nav').fadeIn(500, 'easeOutCubic');
$('.navhandle').toggleClass("rightarrow");
$navnow = navhandleinit;
}
「click」を「mouseenter」に変更するだけで、効果をトリガーできますが、特定の要素に分離することはできません。
失敗した試み:
jQuery(function($) {
var navhandleinit = $('.navhandle').css('left');
var navwidth = $('.navcontainer').width() + 30;
var mainmargin = $('.mainbody').css('margin-left');
var $navnow = $('.navhandle').css('left');
var navtray = $('#thumb-tray').css('left');
$('.navhandle, .navcontainer').mouseenter(function() {
$('#supersized img').addClass('resize');
$thisid = $(this).attr("id");
$thisclass = $(this).attr("class");
$navnow = $('.navhandle').css('left');
if ($navnow == navhandleinit) {
if (($thisid == 'tray-button')) {
$('#thumb-tray').stop().animate({bottom : 0}, 300);
}
$('#prevslide').stop().animate({left: 25 }, 500, 'easeOutCubic');
$('.navcontainer').stop().animate({ left: -210 }, 500, 'easeOutCubic');
$('.navhandle').stop().animate({ left: -10 }, 500, 'easeOutCubic');
$('.mainbody').stop().animate({marginLeft: 10}, 500, 'easeOutCubic', function(){ $('#supersized img').removeClass('resize'); }); //remove css3 transition class after completion
$('.videowrapper').animate({width: '120%', paddingLeft:0}, 500, 'easeOutCubic');
$('.nav').fadeOut(500, 'easeOutCubic');
$('.navhandle').toggleClass("rightarrow");
} else {
$('#prevslide').stop().animate({left: 245}, 500, 'easeOutCubic');
$('.navcontainer').stop().animate({ left: 0 }, 500, 'easeOutCubic');
$('.navhandle').stop().animate({ left: navhandleinit}, 500, 'easeOutCubic');
$('.mainbody').stop().animate({marginLeft: 220}, 500, 'easeOutCubic', function(){ $('#supersized img').removeClass('resize'); }); //remove css3 transition class after completion
$('#thumb-tray').stop().animate({bottom : -$('#thumb-tray').height()}, 300);
$('.videowrapper').animate({paddingLeft: 220, width: '100%'}, 500, 'easeOutCubic');
$('.nav').fadeIn(500, 'easeOutCubic');
$('.navhandle').toggleClass("rightarrow");
$navnow = navhandleinit;
}
});
});
元のクリック イベント機能を維持しながら、mouseenter イベント、およびオプションでタブレットのスワイプ イベントを効果的に追加するにはどうすればよいですか?
http://stage.daylight.proで利用可能なライブ ページ。
よろしくお願いします。