PDA

View Full Version : show & hidden کردن یک تگ



maysam.m
جمعه 10 دی 1389, 19:21 عصر
با سلام

من بوسیله کدهای زیر یک تگ DIV رو نمایش و مخفی میکنم:


function showDiv()
{

var commentDiv = document.getElementById('comments');

if(commentDiv.style.display == 'none')
{
commentDiv.style.display = 'block';
}
else
{
commentDiv.style.display = 'none';
}

}



<div id="comments">
// my code here
</div>


اما مشکل اینه که بعضی وقتها باید دوبار روی تگ مورد نظر کلیک کرد تا کدمون عمل کنه! با اینترنت اکسپلور 7 و اپرا 11 امتحان کردم در هر دو این مشکل وجود داره!
من میخوام هر بار فقط با یک کلیک کد عمل کنه!
دوستان کسی دلیلشو میدونه؟

maysam.m
سه شنبه 14 دی 1389, 11:39 صبح
دوستان کسی نظری نداشت؟ :(

Mr FTHEL
چهارشنبه 15 دی 1389, 11:43 صبح
مشکلی نداره که:متفکر:

maysam.m
چهارشنبه 15 دی 1389, 21:53 عصر
سلام


مشکلی نداره که:متفکر:

شما امتحان کردی دوست عزیز؟ مشکلی نداشت؟ پس چرا برای من اینطوریه؟ :(

به صورت پیش فرض من div مورد نظر را با css به صورت hidden تعریف کردم!
آیا میتونه مشکل از این باشه؟ پیش فرض باید با جاوا اسکریپت هیدن کنمش؟

Mr FTHEL
چهارشنبه 15 دی 1389, 23:01 عصر
اونطوری بهتره
این ببین مشکلتو حل میکنه البته این 2تا تابع داره یکی برای شو که برای هیدن

function hideDiv() {
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById('hideShow').style.visibili ty = 'hidden';
}
else {
if (document.layers) { // Netscape 4
document.hideShow.visibility = 'hidden';
}
else { // IE 4
document.all.hideShow.style.visibility = 'hidden';
}
}
}

function showDiv() {
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById('hideShow').style.visibili ty = 'visible';
}
else {
if (document.layers) { // Netscape 4
document.hideShow.visibility = 'visible';
}
else { // IE 4
document.all.hideShow.style.visibility = 'visible';
}
}
}

Mr FTHEL
چهارشنبه 15 دی 1389, 23:05 عصر
با یک دکمه هم میتونی براش اینطوری بنویسی

var fthel = 'none';

function showhide(layer_ref) {

if (fthel == 'block') {
fthel = 'none';
}
else {
fthel = 'block';
}
if (document.all) { //IS IE 4 or 5 (or 6 beta)
eval( "document.all." + layer_ref + ".style.display = fthel");
}
if (document.layers) { //IS NETSCAPE 4 or below
document.layers[layer_ref].display = fthel;
}
if (document.getElementById &&!document.all) {
hza = document.getElementById(layer_ref);
hza.style.display = fthel;
}
}