gpt4 book ai didi

jquery 同位素哈希历史与 jQuery BBQ

转载 作者:行者123 更新时间:2023-12-01 00:24:08 24 4
gpt4 key购买 nike

我正在玩isotope用于过滤,这很棒。当用户单击其中一张图像时,它会显示不同的页面(详细信息页面),但用于过滤的菜单仍然存在。现在我想要的是,当用户再次单击其中一种可能性时,他会返回主页,但已经有了过滤结果。

我已经阅读了此页面( http://isotope.metafizzy.co/docs/hash-history-jquery-bbq.html ),但我承认我不明白很多事情

按照他们的建议,我有以下 HTML 代码:

div id="leftMenu">

<span><a href="#filter=*" >All Menus</a></span>
<span><a href="#filter=.pizza" >Pizza </a></span>
<span><a href="#filter=.soda" >Soda </a></span>
<span><a href="#filter=.popcorn" >PopCorn</a></span>
<span><a href="#filter=.beer" >Beer</a></span>
</div>

以及下面的Js代码

$('#leftMenu span a').click(function() {
// get href attr, remove leading #
var href = $(this).attr('href').replace(/^#/, ''),
// convert href into object
// i.e. 'filter=.inner-transition' -> { filter: '.inner-transition' }
option = $.deparam(href);
// set hash, triggers hashchange on window
console.log('value de href: '+href+ ' || option: '+option);
$.bbq.pushState(recursiveDecoded);

return false;
});

但是我在 depram 函数中遇到错误。它告诉我 $.depram 不是一个函数

我是否必须链接其他额外文件才能读取 depram 方法?

任何人都可以帮助我如何完成或理解吗?

非常感谢

编辑 - 我的进度我发现了两个额外的 js 文件,我将我的项目链接到它们并使用以下代码

$('#leftMenu span a').click(function() {
// get href attr, remove leading #
var href = $(this).attr('href').replace(/^#/, ''),
// convert href into object
// i.e. 'filter=.inner-transition' -> { filter: '.inner-transition' }
option = $.deparam(href);
// set hash, triggers hashchange on window
$.bbq.pushState(option);
console.log("--> " +option );
//return false;
});


$(window).bind('hashchange', function(event) {
alert('Hello');
// get options object from hash
var hashOptions = $.deparam.fragment();
console.log(hashOptions);
// apply options from hash
$('#leftMenu span a').isotope(hashOptions);
})
// trigger hashchange to capture any hash data on init
.trigger('hashchange');

我没有任何错误。但它没有过滤器。

我可以收到警报('Hello')。

有什么想法吗?

最佳答案

我找到了解决方案。我的 js 代码中有一个错误。

这是代码

$container.isotope({});


$('#leftMenu span a').click(function() {
// get href attr, remove leading #
var href = $(this).attr('href').replace(/^#/, ''),
// convert href into object
// i.e. 'filter=.inner-transition' -> { filter: '.inner-transition' }
option = $.deparam(href);
// set hash, triggers hashchange on window
$.bbq.pushState(option);
return false;
});



$(window).bind('hashchange', function(event) {
// get options object from hash
var hashOptions = $.deparam.fragment();
// apply options from hash
$container.isotope(hashOptions);
})
// trigger hashchange to capture any hash data on init
.trigger('hashchange');

我认为$container.isotope(hashOptions);指的是菜单项,但实际上它指的是结果容器。

关于jquery 同位素哈希历史与 jQuery BBQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12308670/

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