• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل با نمایش و مخفی کردن اطلاعات با کلیک
#1
سلام
کد زیر رو در نظر بگیرین:
کد:
<a onclick="graf(<?=$i?>);">ثبت</a>
<div id="m<?=$i?>" style="display:none;position:absolute;float:right;top:10px;"></div>
<script type="text/javascript">
function graf(id) {
document.getElementById("m"+id).style.display = "block";
}
</script>
اگه کدمون اینطوری باشه:
<div id="m1"></div>
<div id="m2"></div>
<div id="m3"></div>
<div id="m4"></div>
...
میخوام وقتی روی هر کدوم کلیک شد ، بقیه مخفی بشن و فقط همون div نشون داده بشه
وقتی این تعداد محدود باشه مشکلی نیست:
کد:
document.getElementById("m1").style.display = "block";
document.getElementById("m2").style.display = "none";
document.getElementById("m3").style.display = "none";
document.getElementById("m4").style.display = "none";

ولی مسئله اینجاست که مقدار $i متغیر و زیاد هست. مثلا اگه 100 تا دیو داشته باشیم چی؟ کدنویسیش خیلی خیلی زیاد میشه
راهی هست بشه اینکار رو کرد؟
  پاسخ
تشکر شده توسط :
#2
این کد هم بدرستی جواب نمیده:
کد:
var e = document.getElementById("m"+id);
   if(e.style.display == 'block')
         e.style.display = 'none';
      else
         e.style.display = 'block';
  پاسخ
تشکر شده توسط :
#3
کد:
function graf(id) {
 var x = document.getElementById("m" + id);
 [].forEach.call(document.querySelectorAll('div'), function (el) {
 el.style.visibility = 'hidden';
});
 x.style.visibility = "initial";
}
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : ayoubsys


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان