【发布时间】:2012-03-23 23:01:03
【问题描述】:
我制作了一个简单的 jquery 脚本,用于在单击类时对页面内容进行排序……在本例中,所有产品、窗口或 macintosh。该脚本就像我想要的那样工作,除了因为我在窗口滚动的 href 中使用 # ......无论如何,当用户点击其中一个链接时,是否有阻止窗口滚动并保持准确的位置?
此外,我很快就将脚本组合在一起 - 如果有人想提供一些优化,请继续...
基本的html:
<a class="all" href="#">All Products</a>
<a class="win" href="#">Windows</a>
<a class="mac" href="#">Macintosh</a>
<div class="windows">1 win</div>
<div class="macintosh">2 mac</div>
<div class="windows">3 win</div>
<div class="windows">4 win</div>
<div class="windows">5 win</div>
<div class="macintosh">6 mac</div>
<div class="windows">7 win</div>
脚本:
var $zproducthide = jQuery.noConflict();
$zproducthide(document).ready(function() {
$current = 'all';
$zproducthide(".all").click(function () {
if ($current != 'all'){
$zproducthide(".windows").hide();
$zproducthide(".macintosh").hide();
$zproducthide(".windows").fadeIn(1500);
$zproducthide(".macintosh").fadeIn(1500);
$current = 'all';
}
});
$zproducthide(".win").click(function () {
if ($current != 'windows'){
$zproducthide(".windows").hide();
$zproducthide(".macintosh").hide();
$zproducthide(".windows").fadeIn(1500);
$current = 'windows';
}
});
$zproducthide(".mac").click(function () {
if ($current != 'macintosh'){
$zproducthide(".windows").hide();
$zproducthide(".macintosh").hide();
$zproducthide(".macintosh").fadeIn(1500);
$current = 'macintosh';
}
});
});
【问题讨论】:
-
是否有 windows.position 声明或某种形式?您可以尝试使用它,以便窗口保持在顶部。我确实记得单击#-链接时我没有看到我的浏览器窗口(Chrome)移动(除非它链接到书签)。也许隐藏与它有关?尝试使用块元素?
标签: jquery scroll show-hide hashtag