1
我已經創建了一個非常小的jQuery插件,用於個人使用,在懸停事件上在圖像上創建疊加層,然後爲兩個圖標設置動畫。懸停時的jQuery動畫|非常快的傳球,停止動畫
在鼠標移出時,它會再次動畫圖標,然後淡出覆蓋圖。
雖然動畫很好,但問題出現在圖標上。在快速傳遞鼠標動畫 - 圖標但不製作動畫 - 圖標。
在這裏你可以看到我是什麼意思一個活生生的例子:http://jsfiddle.net/merianos/yPerY/1/
繼源代碼
HTML
<section class="clearfix span-10 last post_container ">
<article>
<div class="imageHover">
<span class="overlay"></span>
<a href="#" class="image_preview"></a>
<a href="#" class="image_link"></a>
<img src="http://goo.gl/YRC7G" />
</div>
</article>
</section>
CSS
.post_container
{
position : relative;
margin : 100px;
}
.post_container article
{
position : relative;
display : block;
width : 280px;
}
.post_container article img
{
width : 278px;
border : 1px solid #dfe1e0;
}
.post_container article .overlay
{
z-index : 740;
display : block;
width : 100%;
height : 121px;
background : #000;
opacity : 0;
position : absolute;
top : 0;
left : 0;
}
.post_container article .image_link,
.post_container article .image_preview
{
display : block;
width : 32px;
height : 32px;
position : absolute;
cursor : pointer;
z-index : 741;
top : 88px;
opacity : 0;
}
.post_container article .image_link
{
background : #0AF;
left : 98px;
}
.post_container article .image_preview
{
background : #F0A;
left : 150px;
}
的JavaScript
;(
function($)
{
$.fn.extend(
{
wplImageHover: function(options)
{
this.defaultOptions = {};
var settings = $.extend({}, this.defaultOptions, options);
var image = null;
var methods = {
init : function()
{
image.mouseenter(
function(e)
{
var overlay = $(this).find('.overlay');
overlay.stop().animate(
{
'opacity' : '0.25'
},
150
);
overlay.queue(
function()
{
var image_preview = $(this).siblings('.image_preview');
var image_link = $(this).siblings('.image_link');
image_preview.stop().animate(
{
'opacity' : 1,
'top' : '44px'
},
150
);
image_link.stop().animate(
{
'opacity' : 1,
'top' : '44px'
},
150
);
$(this).dequeue();
}
);
e.preventDefault();
}
).mouseleave(
function(e)
{
var image_preview = $(this).find('.image_preview');
var image_link = $(this).find('.image_link');
image_preview.stop().animate(
{
'opacity' : 0,
'top' : 0
},
150
);
image_link.stop().animate(
{
'opacity' : 0,
'top' : 0
},
150
);
image_link.queue(
function()
{
var overlay = $(this).siblings('.overlay');
overlay.stop().animate(
{
'opacity' : 0
},
150
);
overlay.queue(
function()
{
$(this).css(
{
'opacity' : '0'
}
);
$(this).siblings('.image_link, .image_preview').css(
{
'opacity' : '0',
'top' : '88px'
}
);
$(this).dequeue();
}
);
$(this).dequeue();
}
);
e.preventDefault();
}
);
}
}
return this.each(
function()
{
image = $(this);
methods.init();
}
);
}
}
);
}
)(jQuery);
$('.imageHover').wplImageHover();
任何人可以幫助我嗎?
親切的問候 Merianos尼科斯
只是謝謝了! :) –
最受歡迎:-) –