【发布时间】:2016-04-20 10:12:42
【问题描述】:
我有一个 WordPress 网站,其中列出了同位素布局中的自定义帖子类型项目。每个项目都有一个收藏按钮。一旦你喜欢它,一颗星将通过 CSS 突出显示。当您转到该项目时,我希望能够看到该项目已被收藏。
我刚刚意识到我拥有的脚本没有存储该按钮的 ID,因此它不会显示在单个页面上,而是显示在收藏它的页面上。这是脚本:
if (typeof(localStorage) == 'undefined') {
document.getElementById("result").innerHTML =
'Your browser does not support HTML5 localStorage. Try upgrading.';
} else {
$(".grid-item").each(function(i, el) {
if (localStorage['fav' + i] == 'addfave') {
$(this).addClass('addfave');
}
});
}
$(document).ready( function() {
// ADD FAVE
$( ".fav" ).click(function(e) {
e.preventDefault();
var $item = $(this).closest('.grid-item');
var index = $('.grid-item').index($item);
//localStorage.removeItem('background');
$item.toggleClass('addfave');
if ($item.hasClass('addfave')) {
console.log(index)
localStorage.setItem('fav' + index, 'addfave');
} else {
localStorage.removeItem('fav' + index);
if (localStorage['fav' + i] == null) {
}
}
});
});
我的按钮看起来像这样,我使用 CSS 在 span 标签中显示星号
<a href="#" id="fav<?php echo $post->ID; ?>" class="fav" title="[+] Add as favorite"><span></span></a>
【问题讨论】:
-
将您的帖子 ID 保存在 localStorage 和单个帖子/页面以匹配 localStorage 中的 ID。修改脚本jsfiddle.net/user5200704/tkuqwdvg
-
你试过我下面的答案了吗?
标签: javascript jquery wordpress html