View Full Version : سوال: Unload کردن یک Function در صفحه
ShirazITCo.ir
پنج شنبه 04 مهر 1387, 17:48 عصر
سلام خسته نباشید
من یک مشکل کوچیک داشتم
من در صفحه یک Function دارم که می خوام اگر یک متغیر False شد Unload شود. البته دستور Break جواب نمی ده.
بطور کلی ماجرا اینجوری هست که می خوام وقتی موس بر روی یک تگ Div میره این Function لود بشه اما این Function تاثیراتی برروی صفحه داره که باید بعد از Mouseout شدن Unload بشه.
اگر جواب این سوال رو می دونید خوشحال می شم کمکم کنید.
امید امرایی
جمعه 05 مهر 1387, 00:43 صبح
لود بشه یعنی چی ؟
واضح تر توضیح بدید دوست عزیز
as13851365
جمعه 05 مهر 1387, 11:56 صبح
بطور کلی ماجرا اینجوری هست که می خوام وقتی موس بر روی یک تگ Div میره این Function لود بشه اما این Function تاثیراتی برروی صفحه داره که باید بعد از Mouseout شدن Unload بشه.
تا اونجایی که من می دونم function لود نمی شه اجرا ( فراخوانی ) می شه .
خوب شما بگید چه تاثیری روی صفحه داره تا دوستان بهتر راهنمایی کنند. مثلا رنگ یه قسمتی رو عوض می کنه ؟ نوشته ای رو اضافه می کنه ؟ کادری رو حذف می کنه یا نمایش می ده ؟
اگه خواسته شما یکی از موارد بالا باشه شما می تونید به راحتی یه تابع ( function ) دیگه ای رو بنویسی و وقتی که موس از روی div کنار رفت این تابع دوم اجرا بشه وقتی هم که روی div رفت تابع اولی اجرا بشه .
حالا اگه باز مشکلی بود بگو !
ShirazITCo.ir
جمعه 05 مهر 1387, 23:15 عصر
خب من باید بیشتر توضیح می دادم ببخشید.
مشکل من اینجاست که اومدم و تو سایتم یک اسکریپت Drag گذاشتم.این اسکریپت یه مشکل داره که میاد براساس رویداد onclick یک فعالیت رو انجام می ده و متاسفانه این باعث میشه رویداد های onmousedown و onmouseup در Firefox از کاربیفتن.البته نه 100% . حالا می خوام این اسکریپت تنها زمانی لود یا فراخانی بشه که موس برروی مثلا یک تگ Div باشه.مشکل اینجاست که زمانی که این اسکریپت واسه بار اول لود میشه به صورت دائمی فعال می مونه .حالا می خوام با رویداد onmouseout این Function از بین بره!
ممنون که توجه کردید.
امید امرایی
شنبه 06 مهر 1387, 19:54 عصر
خوب اولا همونچوری که onclick قرارداده شده حالا onmouseover یا onmousedown قرار بدید
ثانیا می تونید یه متغیر تعریف کنید و در رویداد onouseout مقدارش رو false کنید و به ابتدای function این کد رو اضافه کنید
if(!myVar)
return;
ShirazITCo.ir
یک شنبه 07 مهر 1387, 20:12 عصر
لطفا کد زیر رو اجرا کنید بد متوجه می شید من چی میگم.
<html>
<head>
<script language="JavaScript1.2">
function over(div) {
var IE = document.all?true:false
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0
var tempY = 0
function getMouseXY(e) {
if (IE) {
tempX = event.clientX + document.body.scrollLeft
tempY = event.clientY + document.body.scrollTop
} else {
tempX = e.pageX
tempY = e.pageY
}
if (tempX < 0){tempX = 0}
if (tempY < 0){tempY = 0}
// Commands to do
alert(div);
}
}
</Script>
</head>
<body >
<div id="test" onmouseover="over('Now Stop this alert!')" style="border:1px dotted #000;width:100px;height:100px;">Mouse Over on this Div</div>
</body>
</html>
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.