私はjQueryを初めて使用するので、優しくしてください。
オンラインで2つの記事を見つけました。
jQueryを使用してロールオーバースプライトにフェードイン/フェードアウトを追加する:http: //css-tricks.com/fade-image-within-sprite/ (Way The Third:Legacy Support version)
私はこれらの例の両方を使用し、それらを一緒に機能させることができました。
http://www.marccohen.co.uk/dev/menu_example.htm
一方のリストのロールオーバーフェードスプライトは、もう一方のリストのアニメーション化されたホバーもトリガーします。その逆も同様です。問題は、結果として得られるjQueryが「非常に」長く、これに非常に慣れていないため、どうすれば短縮できるかわかりません。
$(function() {
$(".menuicon1")
.find("span")
.hide()
.end()
.hover(function() {
$(this).find("span").stop(true, true).fadeIn({duration:300});
$('ul.hover_block li.slide1').find('img').animate({top:'192px'},{queue:false,duration:150});
}, function() {
$(this).find("span").stop(true, true).fadeOut({duration:300});
$('ul.hover_block li.slide1').find('img').animate({top:'276px'},{queue:false,duration:150});
});
$(".menuicon2")
.find("span")
.hide()
.end()
.hover(function() {
$(this).find("span").stop(true, true).fadeIn({duration:300});
$('ul.hover_block li.slide2').find('img').animate({top:'192px'},{queue:false,duration:150});
}, function() {
$(this).find("span").stop(true, true).fadeOut({duration:300});
$('ul.hover_block li.slide2').find('img').animate({top:'276px'},{queue:false,duration:150});
});
$(".menuicon3")
.find("span")
.hide()
.end()
.hover(function() {
$(this).find("span").stop(true, true).fadeIn({duration:300});
$('ul.hover_block li.slide3').find('img').animate({top:'192px'},{queue:false,duration:150});
}, function() {
$(this).find("span").stop(true, true).fadeOut({duration:300});
$('ul.hover_block li.slide3').find('img').animate({top:'276px'},{queue:false,duration:150});
});
$(".menuicon4")
.find("span")
.hide()
.end()
.hover(function() {
$(this).find("span").stop(true, true).fadeIn({duration:300});
$('ul.hover_block li.slide4').find('img').animate({top:'192px'},{queue:false,duration:150});
}, function() {
$(this).find("span").stop(true, true).fadeOut({duration:300});
$('ul.hover_block li.slide4').find('img').animate({top:'276px'},{queue:false,duration:150});
});
$(".menuicon5")
.find("span")
.hide()
.end()
.hover(function() {
$(this).find("span").stop(true, true).fadeIn({duration:300});
$('ul.hover_block li.slide5').find('img').animate({top:'192px'},{queue:false,duration:150});
}, function() {
$(this).find("span").stop(true, true).fadeOut({duration:300});
$('ul.hover_block li.slide5').find('img').animate({top:'276px'},{queue:false,duration:150});
});
$('ul.hover_block li.slide1').hover(function(){
$(this).find('img').animate({top:'192px'},{queue:false,duration:150});
$('.menuicon1').find("span").stop(true, true).fadeIn({duration:300});
}, function(){
$(this).find('img').animate({top:'276px'},{queue:false,duration:150});
$('.menuicon1').find("span").stop(true, true).fadeOut({duration:300});
});
$('ul.hover_block li.slide2').hover(function(){
$(this).find('img').animate({top:'192px'},{queue:false,duration:150});
$('.menuicon2').find("span").stop(true, true).fadeIn({duration:300});
}, function(){
$(this).find('img').animate({top:'276px'},{queue:false,duration:150});
$('.menuicon2').find("span").stop(true, true).fadeOut({duration:300});
});
$('ul.hover_block li.slide3').hover(function(){
$(this).find('img').animate({top:'192px'},{queue:false,duration:150});
$('.menuicon3').find("span").stop(true, true).fadeIn({duration:300});
}, function(){
$(this).find('img').animate({top:'276px'},{queue:false,duration:150});
$('.menuicon3').find("span").stop(true, true).fadeOut({duration:300});
});
$('ul.hover_block li.slide4').hover(function(){
$(this).find('img').animate({top:'192px'},{queue:false,duration:150});
$('.menuicon4').find("span").stop(true, true).fadeIn({duration:300});
}, function(){
$(this).find('img').animate({top:'276px'},{queue:false,duration:150});
$('.menuicon4').find("span").stop(true, true).fadeOut({duration:300});
});
$('ul.hover_block li.slide5').hover(function(){
$(this).find('img').animate({top:'192px'},{queue:false,duration:150});
$('.menuicon5').find("span").stop(true, true).fadeIn({duration:300});
}, function(){
$(this).find('img').animate({top:'276px'},{queue:false,duration:150});
$('.menuicon5').find("span").stop(true, true).fadeOut({duration:300});
});
});
本当にどんな提案にも感謝します...