PDA

View Full Version : كد جاوا اسكريپت براي باز شدن پنجره popup



SAMARE
چهارشنبه 07 بهمن 1388, 12:22 عصر
سلام دوستان عزيز

من دنبال يك كد جاوااسكريپت براي باز شدن پنجره popup‌ميگردم كه تا زمانيكه پنجره popup باز هست كاربر نتونه بر روي صفحه اصلي فوكوس كنه

در ضمن ميخوام اين عمل در رويداد
SelectedIndexChanged گريدويو انجام بشه

ممنون ميشم كمكم كنيد

SAMARE
شنبه 10 بهمن 1388, 08:29 صبح
كسي نيست يه راه حل به من پيشنهاد كنه؟؟؟

eAmin
یک شنبه 11 بهمن 1388, 01:06 صبح
سلام.

چیزی که مد نظر شما هست، فقط در مرورگر IE بدرستی اجرا می شه، ولی در مرورگرهای دیگه خیر جوابگو نیست.
ولی بنده به شما پیشنهاد می کنم از این آموزش استفاده کنید: http://javascript.about.com/library/blmodald1.htm

موفق باشید.

Radmard_Rad
یک شنبه 11 بهمن 1388, 12:54 عصر
فکر می کنم بهتره به جای استفاده از یک pop up از یک لایه استفاده کنی !
دقیقا می خوای چی کار کنی ؟
------------------------------------------------
همینی که eAmin برات فرستاده .

SAMARE
دوشنبه 12 بهمن 1388, 08:41 صبح
ممنون ميشم بيشتر توضيح بديد
منظورتون از لايه چيه؟؟؟

من نتونستم از لينكي كه جناب eAmin براي من گذاشتن چيزي مبني بر باز كردن پنجره popup‌ پيدا كنم!!!

SAMARE
دوشنبه 12 بهمن 1388, 08:50 صبح
فکر می کنم بهتره به جای استفاده از یک pop up از یک لایه استفاده کنی !
دقیقا می خوای چی کار کنی ؟


ببینید دوست عزیز من یک گریدویو دارم که نام و نام خانوادگی افراد رو نشون میده که در هر سطر گرید دکمه ای بنام ویرایش وجود داره که با کلیک بر روی اون میخوام یه پنجره popup باز بشه و اطلاعات کامل فرد انتخاب شده رو نشون بده!!!

من popup رو برای این کار میخوام و اینکه میخوام تا زمانیکه پنجره popup باز هست کاربر نتونه بر روی پنجره اصلی فوکوس کنه!!!

Radmard_Rad
دوشنبه 12 بهمن 1388, 22:39 عصر
باز کردن پاپ آپ راه حل خوبی نیست . اول اینکه خیلی از مرورگرها بلاکش می کنن . دوم هم اینکه واقعا ایده ای ندارم چه طوری می شه صفحه را برای غیز قابل کلیک کنه .
استفاده از DOM و Ajax راه حل بهتریه .

1) توی صفحه ات دو تا لایه زیر را قرار بده .


<div id="blanket" style="display:none;"></div>
<div id="pop_up" style="display:none;"></div>


2) توابع زیر را به فایلت ضمیمه کن .



function toggle(div_id) {
var el = document.getElementById(div_id);
el.style.display = 'block';
}
function Hide(div_id) {
var el = document.getElementById(div_id);
el.style.display = 'none';
}
function blanket_size(popUpDivVar) {
if (typeof window.innerWidth != 'undefined') {
viewportheight = window.innerHeight;
} else {
viewportheight = document.documentElement.clientHeight;
}
if ((viewportheight > document.body.parentNode.scrollHeight) && (viewportheight > document.body.parentNode.clientHeight)) {
blanket_height = viewportheight;
} else {
if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) {
blanket_height = document.body.parentNode.clientHeight;
} else {
blanket_height = document.body.parentNode.scrollHeight;
}
}
var blanket = document.getElementById('blanket');
blanket.style.height = blanket_height + 'px';
var popUpDiv = document.getElementById(popUpDivVar);
popUpDiv_height=blanket_height/2-325;//150 is half popup's height
popUpDiv.style.top = popUpDiv_height + 'px';
}
function window_pos(popUpDivVar) {
if (typeof window.innerWidth != 'undefined') {
viewportwidth = window.innerHeight;
} else {
viewportwidth = document.documentElement.clientHeight;
}
if ((viewportwidth > document.body.parentNode.scrollWidth) && (viewportwidth > document.body.parentNode.clientWidth)) {
window_width = viewportwidth;
} else {
if (document.body.parentNode.clientWidth > document.body.parentNode.scrollWidth) {
window_width = document.body.parentNode.clientWidth;
} else {
window_width = document.body.parentNode.scrollWidth;
}
}
var popUpDiv = document.getElementById(popUpDivVar);
window_width=window_width/2-325;//150 is half popup's width
popUpDiv.style.left = window_width + 'px';
}
function popup(windowname) {
blanket_size(windowname);
window_pos(windowname);
toggle('blanket');
toggle(windowname);
}
function hide(windowname){
Hide(windowname);
Hide('blanket');
}


حالا فرض می کنیم می خوای روی یک لینک کلیک کنی و اطلاعاتی را که یک صفجه قراره بهت برگردونه را نشون بدی .
برای اینکار باید از Ajax استفاده کنی . اینکه چه طوری درخواستت را بگیری و توی یک لایه نمایش بدی را توی یک تاپیک دیگه نوشته بودم

SAMARE
سه شنبه 13 بهمن 1388, 08:27 صبح
این لایه ها و توابع رو در كجاي برنامه ام بايد قرار بدم؟؟؟

Radmard_Rad
سه شنبه 13 بهمن 1388, 09:48 صبح
با چی می نویسی برنامه ات را ؟
قسمت اول را توی <body>
اسکریپت ها را هم می نونی توی یک فایل جدا ذخیره کنی ضمیمه کنی به فایلت و یا اینکه توی تگ <script>

SAMARE
سه شنبه 13 بهمن 1388, 11:26 صبح
برای اینکار باید از Ajax استفاده کنی . اینکه چه طوری درخواستت را بگیری و توی یک لایه نمایش بدی را توی یک تاپیک دیگه نوشته بودم
ميشه لينك تاپيك رو بزاريد
ممنونم!!!

Radmard_Rad
سه شنبه 13 بهمن 1388, 12:10 عصر
اینجا (http://barnamenevis.org/forum/showthread.php?t=202686) نوشتم . اگه مشکلت حل نشد کد صفحه هات را بگذار تا با کمک هم درستش کنیم

hamedafb
دوشنبه 17 اسفند 1388, 12:49 عصر
چند تا مشكل ديگه هم دارم كه در زير مطرح ميكنم كه اگر جواب بديد خيلي ممنون ميشم
1-من ميخوام اين پنجره popup به طور اتوماتيك با بالا و پايين رفتن صفحه اصلي اون هم بالا و پايين بره و يك جا ثابت نباشه.
2- من ميخوام اين پنجره popup در وسط صفحه باز بشه .
3-من ميخوام اين كد رو در نيوك قرار بدم چون اگه به وب سايتم سر بزنيد ميبينيد كه از سيستم نيوك استفاده ميكنم ولي نميدونم كه بايد اين رو در تم سيستم نيوك قرار بدم با در هدر و يا جاي ديگر.و اينكه اگر بايد در تم نيوك قرار بدم چطور بايد قزار بدم چون تم يك صفحه php است و اونو نميخونه و اينكه ميشه اونو در يك فايل با فرمت js قرار داد و در تم قرار بديم و يا نه .

من فايل اين پنجره popup رو ضميمه ميكنم ممنون ميشم اين تغييرات رو روي اين فايل اعمال كنيد و برام دوباره ضميمه كنيد

ghanbarloo
سه شنبه 25 اسفند 1388, 16:20 عصر
اینم می تونی استفاه کنی

<body onload="window.open('http://www.tsm6.com , 'DesignerWizWin', 'toolbar=0, location=0, directories=0, menuBar=0, scrollbars=0, resizable=0, width=800, height=600, left=50, top=50');">

sorosh_hatami
دوشنبه 10 شهریور 1393, 02:41 صبح
[

سلام بر مديريت محترم.
مي ي درخواست داشتم . خيلي وقته ک من براي رفع مشکلم ب خيلي از سايت ها سر زدم ولي مشکلم حل نشد من مشکلمو ميکم اگر براتون مقدور بود برام ي کامن بزاريد و بهم خبر بديد khiabanmusic.loxblog.com
بعضي از سايت ها هنگام باز شدن ي پنجره اول وب مياره بالا و فقط ي گزينه ضرب در داره ک وقتي روي اون کليک ميکني پاپ اپ باز ميشه اينم نمونه وبشه
http://www.instm.ir/%D8%B3%D8%A7%DB%...B1%D8%A7-.html
من اين کد رو دارم و وقتي تو وبم ميزارم درست کار نميکنه يعني من ميخوام مثل اين سايت ب نمايش در بياد ولي مثل ي بنر يا ي قسمت از قالب ب نمايش در مياد اينم کدشه


<div id="" class="tinner" style="height: 250px; width: 450px; background-image: none;"><div class="tcontent" style="display: block;">
<img src="http://www.instm.ir/static/images/ramezan.gif">

<br>

<h2 style="line-height:40px; text-align:center; color:#333">در صورت مشاهده صفحات مغاير با قوانين جمهوري اسلامي از قسمت گزارش تخلف به ما اطلاع دهيد</h2>


</div>