gpt4 book ai didi

jquery - 如何应用 jQuery 流沙(排序)而不丢失基于 jQuery 的组合悬停?

转载 作者:行者123 更新时间:2023-12-01 06:03:02 26 4
gpt4 key购买 nike

当使用 jQuery 应用流沙(用于排序列表的脚本)时,我发现我失去了列表项的投资组合悬停。

在有人对列表进行排序后,如何保持我的列表悬停?

问题出现在:http://digitalstyle.co/portfolio.html

流沙代码

// Custom sorting plugin
(function($) {
$.fn.sorted = function(customOptions) {
var options = {
reversed: false,
by: function(a) { return a.text(); }
};
$.extend(options, customOptions);
$data = $(this);
arr = $data.get();
arr.sort(function(a, b) {
var valA = options.by($(a));
var valB = options.by($(b));
if (options.reversed) {
return (valA < valB) ? 1 : (valA > valB) ? -1 : 0;
} else {
return (valA < valB) ? -1 : (valA > valB) ? 1 : 0;
}
});
return $(arr);
};
})(jQuery);

// DOMContentLoaded
$(function() {

// bind radiobuttons in the form
var $filterType = $('#filter input[name="type"]');
var $filterSort = $('#filter input[name="sort"]');

// get the first collection
var $applications = $('#applications');

// clone applications to get a second collection
var $data = $applications.clone();

// attempt to call Quicksand on every form change
$filterType.add($filterSort).change(function(e) {
if ($($filterType+':checked').val() == 'all') {
var $filteredData = $data.find('li');
} else {
var $filteredData = $data.find('li[data-type=' + $($filterType+":checked").val() + ']');
}

// if sorted by size
if ($('#filter input[name="sort"]:checked').val() == "size") {
var $sortedData = $filteredData.sorted({
by: function(v) {
return parseFloat($(v).find('span[data-type=size]').text());
}
});
} else {
// if sorted by name
var $sortedData = $filteredData.sorted({
by: function(v) {
return $(v).find('strong').text().toLowerCase();
}
});
}

// finally, call quicksand
$applications.quicksand($sortedData, {
duration: 800,
easing: 'easeInOutQuad'
});

});

});

将鼠标悬停在代码上

$(document).ready(function() {

// #################################
// PORTFOLIO GRID
// #################################
$(".portfolio li").hover(function () {
$(this).find('div.content').fadeIn("fast");
},
function() {
$(this).find('div.content').fadeOut("fast");
})

// #################################
// IMAGE FADE OPACITY WHEN HOVER
// #################################
$(function() {

$(".portfolio div img").css("opacity", "1");

// ON MOUSE OVER
$(".portfolio div img").hover(function () {

// SET OPACITY TO 100%
$(this).stop().animate({
opacity: 0.5
}, "fast");
},

// ON MOUSE OUT
function () {

// SET OPACITY BACK TO 100%
$(this).stop().animate({
opacity: 1
}, "fast");
});
});

$('.portfolio .content').each(function() {
$('.portfolio .content').hover(function() {
$(".portfolio img").not(this).stop().animate({opacity: 0.6}, 400);
}, function() {
$(".portfolio img").not(this).stop().animate({opacity: 1}, 300);
});
});

// #################################
// Lightbox for images
// #################################
$(".portfolio a.folio-zoom").fancybox({
'titlePosition' : 'over'
});


}); // END OF DOCUMENT READY

我的 header JS 的外观

<!-- Fancybox lightbox -->
<script type="text/javascript" src="js/jquery.fancybox-1.3.1.js"></script>

<!-- Custom javascript for this template -->
<script type="text/javascript" src="js/portfolio-hover.js"></script>



<script type="text/javascript" src="js/jQuery.equalHeights.js"></script>
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<!-- LOAD HoverAlls --><script type="text/javascript" src="js/jquery.hoveralls.js"> </script>
<!-- LOAD Easing --><script type="text/javascript" src="js/jquery.easing.1.3.min.js"> </script>
<script type="text/javascript">
function setEqualHeight(columns)
{
var tallestcolumn = 0;
columns.each(
function()
{
currentHeight = $(this).height();
if(currentHeight > tallestcolumn)
{
tallestcolumn = currentHeight;
}
}
);
columns.height(tallestcolumn);
}
$(document).ready(function() {
setEqualHeight($(".pontent-container > div"));
`enter code here`});
</script>

<script type="text/javascript" src="js/jquery.quicksand.js"></script>
<script type="text/javascript" src="js/custom.js"></script>

最佳答案

切换

$(".portfolio li").hover(function () {
$(this).find('div.content').fadeIn("fast");
},
function() {
$(this).find('div.content').fadeOut("fast");
})

$(".portfolio li").on('hover', function () {
$(this).find('div.content').fadeIn("fast");
},
function() {
$(this).find('div.content').fadeOut("fast");
})

更新将其拉出到函数

$.fn.showContent = function() {
var $this = $(this);
$this.hover(function () {
$this.find('div.content').fadeIn("fast");
},
function() {
$this.find('div.content').fadeOut("fast");
})
}

然后在投资组合悬停代码中

$(document).ready(function() {
$('.portfolio li').showContent();
})

在你的流沙代码中

....


}
});
}

// finally, call quicksand
$applications.quicksand($sortedData, {
duration: 800,
easing: 'easeInOutQuad'
});
$('.portfolio li').showContent();

});

关于jquery - 如何应用 jQuery 流沙(排序)而不丢失基于 jQuery 的组合悬停?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9287021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com