ایجاد دکمه علاقه مندی بصورت localstorage و همچنین صفحه فراخوانی موارد ذخیره شده در localstorage
با سلام.
دوستان من خیلی سرچ کردم ولی در این مورد چیزی پیدا نکردم.میخوام بصورت آرایه آی دی های مطالب رو بوسیله دکمه علاقه مندی ذخیره کنم توو Localstorage و یک صفحه هم بسازم که همون آی دی های ذخیره شده رو فراخوانی کنم از دیتابیس.اما واقعا نمیدونم چطوری.چون localstorage مطلب تازه ای محسوب میشه توو سایت های فارسی خیلی کم در موردش صحبت شده.
لطفا یک مرجع فارسی یا تا حد امکان بصورت سورس راهنماییم کنین.ممنون
به این مثال ها نگاه کنید میتونید طرز کارش رو ببینید اما برای ذخیره علاقه مندی ها مرسوم هست که از دیتابیس استفاده میشه.
var testObject = { 'one': 1, 'two': 2, 'three': 3 };
// Put the object into storage
localStorage.setItem('testObject', JSON.stringify(testObject));
// Retrieve the object from storage
var retrievedObject = localStorage.getItem('testObject');
console.log('retrievedObject: ', JSON.parse(retrievedObject));
var names = [];
names[0] = prompt("New member name?");
localStorage.setItem("names", JSON.stringify(names));
//...
var storedNames = JSON.parse(localStorage.getItem("names"));
ممنون سجاد جان.
حالا این کاری که گفتی مقدار آیدی ها رو برام بصورت آرایه میده.من میخوام اینطوری بده:
<div id="1"></div>
<div id="2"></div>
<div id="3"></div>
چطوری این کار رو بکنم؟
ببین دوست عزیزم.من برای خودم این تابع جی کوئری رو نوشتم:
var favorites = JSON.parse(localStorage.getItem('favorites')) || [];
favorites.forEach(function(favorite) {
document.getElementById(favorite).className = 'radius waves-effect fa fa-heart pointer favi';
});
document.querySelector('.list').addEventListener('click', function(e) {
var id = e.target.id,
item = e.target,
index = favorites.indexOf(id);
if (!id) return;
if (index == -1) {
favorites.push(id);
item.className = 'saved_fav';//زمانی که بر روی دکمه افزودن به علاقه مندی کلیک کردم با اعمال این کلاس،قلب قرمز می شود
} else {
favorites.splice(index, 1);
item.className = 'none_fav';//این کلاس در وضعیت قلب بصورت توو خالی بوده و نشان دهنده عدم افزودن به علاقه مندی است
}
localStorage.setItem('favorites', JSON.stringify(favorites));
console.log(favorites);
حالا شما فرض کن من آی دی های 1 و 2 و3 و5و 7 رو بصورت یک آرایه ذخیره کردم.
مثل این کد مثلا:
favorites = ["1","2","3","5","7"]// این کد در قسمت حافظه مرورگر در بخش لوکال استورج ذخیره میشه
//value = favorites و key=["1","2","3","5","7"] خواهد بود
اصل مشکل من در اینه که میخوام در یک صفحه جدید(صفحه موارد مورد علاقه) بگردم از mysql در دیتابیسم دستور select رو بنویسم که بهش بگم فقط آی دی هایی که در آرایه لوکال استورج ذخیره شدن رو فراخونی کنم.اما راهش رو بلد نیستم
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .