-2
- 該函數將圖像停下來淡入淡出。
- 現在,只適用於一個元素(
div.logo
)這是第二個,我怎樣才能使它爲兩個或多個工作?
我想我應該得到結果列表中每個元素的邊界。怎麼樣?jquery動畫僅適用於一個元素
任何幫助,將不勝感激
JS:
function displayThese(selectorString) {
var $heading = $(selectorString);
var h1top = $heading.position().top;
var h1bottom = h1top + $heading.height();
var h1left = $heading.position().left;
var h1right = h1top + $heading.width();
var divs = $('li').filter(function() {
var $e = $(this);
var top = $e.position().top;
var bottom = top + $e.height();
var left = $e.position().left;
var right = left + $e.width();
return top > h1bottom || bottom < h1top || left > h1right || right < h1left;
});
return divs;
}
(function fadeInDiv() {
var divsToChange = displayThese('h1, div.logo');
var elem = divsToChange.eq(Math.floor(Math.random() * divsToChange.length));
if (!elem.is(':visible')) {
elem.prev().remove();
elem.animate({
opacity: 1
}, Math.floor(Math.random() * 1000), fadeInDiv);
} else {
elem.animate({
opacity: (Math.random() * 1)
}, Math.floor(Math.random() * 1000), function() {
window.setTimeout(fadeInDiv);
});
}
})();
$(window).resize(function() {
// Get items that do not change
var divs = $('li').not(displayThese());
divs.css({
opacity: 0.3
});
});
太感謝你了!它應該以相反的方式工作。所以圖像淡入淡出,但下面的元素不應該褪色 – user3699998
也動畫功能不再存在 – user3699998
我需要圖像保持淡入淡出!你能幫忙嗎? – user3699998