我正在用jQuery创建一个可排序的产品组合。
问题是;每次我点击我的投资组合项目的过滤器,然后页面滚动到顶部。
有没有办法防止这种情况?
可以在此处查看问题:http://alsite.com.br/flex/produtos.html
我的剧本:
<script type="text/javascript">
$(document).ready(function(){
var Portfolio = {
sort: function(items) {
items.show();
$('#portfolio-content').find('div.portfolio-item').not(items).fadeOut(500);
},
showAll: function(items) {
items.fadeIn(500);
},
doSort: function() {
$('a', '#portfolio-sort').on('click', function() {
var $a = $(this);
if (!$a.is('#all')) {
var items = $('div[data-cat=' + $a.data('cat') + ']', '#portfolio-content');
Portfolio.sort(items);
} else {
Portfolio.showAll($('div.portfolio-item', '#portfolio-content'));
}
});
}
};
Portfolio.doSort();
});
</script>
我的投资组合代码:
<div id="portfolio">
<div id="portfolio-sort">
<a href="#" id="all">TODOS</a>
<a href="#" data-cat="a">ACM</a>
<a href="#" data-cat="b">MDF</a>
<a href="#" data-cat="c">AÇO INOX</a>
<a href="#" data-cat="b">PVC ESPANDIDO</a>
<a href="#" data-cat="c">AÇO GALVANIZADO</a>
</div>
<div id="portfolio-content">
<div class="portfolio-item" data-cat="a">A</div>
<div class="portfolio-item" data-cat="b">B</div>
<div class="portfolio-item" data-cat="c">C</div>
<div class="portfolio-item" data-cat="c">C</div>
<div class="portfolio-item" data-cat="b">B</div>
<div class="portfolio-item" data-cat="a">A</div>
<div class="portfolio-item" data-cat="a">A</div>
<div class="portfolio-item" data-cat="c">C</div>
<div class="portfolio-item" data-cat="b">B</div>
</div>
</div>
答案 0 :(得分:1)
简单地改变:
$('a', '#portfolio-sort').on('click', function() { ...
要:
$('a', '#portfolio-sort').on('click', function(e) { ...
并添加:
e.preventDefault();
-
$('a', '#portfolio-sort').on('click', function() {
e.preventDefault();
...
});
-
这可以防止链接作为链接运行(并将您带到produtos.html#
)。
答案 1 :(得分:1)
您需要阻止链接成为链接:)
$('a', '#portfolio-sort').on('click', function(e) {
// stop being an link!
e.preventDefault();
var $a = $(this);
if (!$a.is('#all')) {
var items = $('div[data-cat=' + $a.data('cat') + ']', '#portfolio-content');
Portfolio.sort(items);
} else {
Portfolio.showAll($('div.portfolio-item', '#portfolio-content'));
}
});
更多信息:click