وضعت حالتين الحالة الاولى وهي الحذف بعد ان أضيف كل الملاحظات ثم أحمل الصفحة وأبدأ أحذف العنصر ومن ثم أحمل الصفحة ثم أحذف العنصر الذي بعده ومن ثم اعيد تحميل الصفحة ,نجحت في عمل هذه الحالة.
الحالة الثانية هي الحذف قبل تحميل الصفحة أي يمكنني حذف أي ملاحظة من التخزين المحلي قبل تحميل الصفحة ,لم أستطع أن أطبق هذه الحالة بطريقة صحيحة
let btn= document.getElementById("add");
let v =window.localStorage.getItem('value');
console.log(v);
let taskform = document.querySelector('.tasks');
let tasks=Array();if(!v ){}else{
tasks.push(...(v.split(",")));}
console.log(tasks);if(v && v.length!==0){for(let i=0;i<tasks.length;i++){
let mydiv = document.createElement('div');
mydiv.setAttribute('id',`my-div${i}`);
let but = document.createElement('button');
but.setAttribute('id',i);
but.style.cssText="position: relative;background-color: #d71a0c;color: antiquewhite;border: 0cm;height: 25px;border-radius: 5px;cursor: pointer;left: -31px;top: 14px;width: 62px;"
let textbut= document.createTextNode("delete");
but.appendChild(textbut);
mydiv.style.cssText="background-color: white;width: 179px;height: 25px;top: -12px;position: relative; left: -108px;border: 0cm;border-radius: 4px; direction: ltr;text-indent: 5px;"
mydiv.append(tasks[i]);
taskform.append(but);
taskform.append(mydiv);}}else{}//حدث النقر على إضافة تاسك
btn.addEventListener('click',function(e){
e.preventDefault();
add();});
btn.addEventListener('click',function(e){
add();
e.preventDefault();});function add(){if(document.getElementById("inb").value===""){// التحقق من ما إذا أدخلت قيمة في الحقل أو لا }else{// جلب القيمة المدخلة في الحقل
val= document.getElementById("inb").value;
tasks.push(val);
console.log(tasks);// حفظ القيمة في التخزين المحلي
window.localStorage.setItem("value",tasks);
let x=window.localStorage.getItem('value');
console.log(x);
let len = x.split(",").length;
console.log(len);
let task=tasks[len-1];
let mydiv = document.createElement('div');
mydiv.setAttribute('id',`my-div${len-1}`);
let but = document.createElement('button');
but.setAttribute('id',len-1);
but.style.cssText="position: relative;background-color: #d71a0c;color: antiquewhite;border: 0cm;height: 25px;border-radius: 5px;cursor: pointer;left: -31px;top: 14px;width: 62px;"
let textbut= document.createTextNode("delete");
but.appendChild(textbut);
mydiv.style.cssText="background-color: white;width: 179px;height: 25px;top: -12px;position: relative; left: -108px;border: 0cm;border-radius: 4px; direction: ltr;text-indent: 5px;"
mydiv.append(task);
taskform.append(but);
taskform.append(mydiv);
console.log(tasks);
but.onclick=function(){
let newarr=x.split(",");
let spliced=newarr.splice(len-1,1);
window.localStorage.setItem('value',newarr);
mydiv.remove();
but.remove();}}}if(!v || v.length ===0){
console.log("tasks not found");}else{
let newarr= v.split(',');
console.log(newarr);for(let i=0; i<newarr.length;i++){
i.toString();
let del=document.getElementById(`${i}`);
del.addEventListener('click',function(){
let de=document.getElementById(`${i}`);
console.log(newarr);// let va=newarr.splice(i,1);
let spliced= newarr.splice(i,1);// console.log(va);
console.log(spliced);
window.localStorage.setItem("value",v);
console.log(v);
let myd=document.getElementById(`my-div${i}`);
myd.remove();
de.remove();})
v=newarr;}}
السؤال
Mohamed Lamin Mahmoudi
أريد المساعدة في فكرة الحذف 1
وضعت حالتين الحالة الاولى وهي الحذف بعد ان أضيف كل الملاحظات ثم أحمل الصفحة وأبدأ أحذف العنصر ومن ثم أحمل الصفحة ثم أحذف العنصر الذي بعده ومن ثم اعيد تحميل الصفحة ,نجحت في عمل هذه الحالة.
الحالة الثانية هي الحذف قبل تحميل الصفحة أي يمكنني حذف أي ملاحظة من التخزين المحلي قبل تحميل الصفحة ,لم أستطع أن أطبق هذه الحالة بطريقة صحيحة
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.