مشکل با دکمه های دو حالته

mostafa_az

Well-Known Member
آقایون خانوما سلام . راستش یه مشکل کوچولو برام پیش اومده .
من ازین عکسای رول اور برای دکمه های سایتم گذاشتم . اما میخوام بدونم چطوری میشه عکس زیری دکمه همزمان با بقیه عکسای صفحه لود بشه ؟ در حال حاضر باید موس رو روی دکمه نگه داری ت عکس زیری لود بشه . منظورمو نفهمیدین . نه ؟ خوب لینک زیر رو ببینین . اون سه تا دکمه بالا رو مگم . اگه موس رو روشون نگه دارین عکس سبز زیرشون لود میشه . من میخوام اون عکس سبزه زمانی سایت لود میشه لود بشه نه اینکه با نگه داشتن کلیک موس لود بشه .

http://www.hasanpourco.com

کدی چیزی داره برای اینکار . اگه میشه help me . :D

مخلصیم
مصطفی
 

winsent

Banned
این کد رو تو هد بذار

فقط باید مطابق سایت خودت عوضشون کنی، چون من سورس رو نداشتم و از سایت خودم برات گذاشتم. امیدوارم کمکت کرده باشم...

<script type="text/javascript">
var ns4=document.layers
var ie4=document.all
var ns6=document.getElementById&&!document.all
var dragswitch=0
var nsx
var nsy
var nstemp

function drag_dropns(name){
if (!ns4)
return
temp=eval(name)
temp.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
temp.onmousedown=gons
temp.onmousemove=dragns
temp.onmouseup=stopns
}

function gons(e){
temp.captureEvents(Event.MOUSEMOVE)
nsx=e.x
nsy=e.y
}
function dragns(e){
if (dragswitch==1){
temp.moveBy(e.x-nsx,e.y-nsy)
return false
}
}

function stopns(){
temp.releaseEvents(Event.MOUSEMOVE)
}
function drag_drop(e){
if (ie4&&dragapproved){
crossobj.style.left=tempx+event.clientX-offsetx
crossobj.style.top=tempy+event.clientY-offsety
return false
}
else if (ns6&&dragapproved){
crossobj.style.left=tempx+e.clientX-offsetx+"px"
crossobj.style.top=tempy+e.clientY-offsety+"px"
return false
}
}

function initializedrag(e){
crossobj=ns6? document.getElementById("showimage") : document.all.showimage
var firedobj=ns6? e.target : event.srcElement
var topelement=ns6? "html" : document.compatMode && document.compatMode!="BackCompat"? "documentElement" : "body"
while (firedobj.tagName!=topelement.toUpperCase() && firedobj.id!="dragbar"){
firedobj=ns6? firedobj.parentNode : firedobj.parentElement
}

if (firedobj.id=="dragbar"){
offsetx=ie4? event.clientX : e.clientX
offsety=ie4? event.clientY : e.clientY

tempx=parseInt(crossobj.style.left)
tempy=parseInt(crossobj.style.top)

dragapproved=true
document.onmousemove=drag_drop
}
}
document.onmouseup=new Function("dragapproved=false")
function hidebox(){
crossobj=ns6? document.getElementById("showimage") : document.all.showimage
if (ie4||ns6)
crossobj.style.visibility="hidden"
else if (ns4)
document.showimage.visibility="hide"
}

</script>​

این کد رو هم همین طور:

<script language="JavaScript" type="text/JavaScript">
<!--
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_nbGroup(event, grpName) { //v6.0
var i,img,nbArr,args=MM_nbGroup.arguments;
if (event == "init" && args.length > 2) {
if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
nbArr[nbArr.length] = img;
for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args)) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = img.MM_dn = args[i+1];
nbArr[nbArr.length] = img;
} }
} else if (event == "over") {
document.MM_nbOver = nbArr = new Array();
for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args)) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
nbArr[nbArr.length] = img;
}
} else if (event == "out" ) {
for (i=0; i < document.MM_nbOver.length; i++) {
img = document.MM_nbOver; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
} else if (event == "down") {
nbArr = document[grpName];
if (nbArr)
for (i=0; i < nbArr.length; i++) { img=nbArr; img.src = img.MM_up; img.MM_dn = 0; }
document[grpName] = nbArr = new Array();
for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args)) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
nbArr[nbArr.length] = img;
} }
}
//-->
</script>


حالا اینا رو تو بادی بذار:
<body onLoad="MM_preloadImages('images/layout/button_over_01.jpg','images/layout/button_over_02.jpg','images/layout/button_over_03.jpg','images/layout/button_over_04.jpg'
,'images/layout/button_over_05.jpg','images/layout/button_over_06.jpg','images/layout/button_over_07.jpg')">​

فقط باید مطابق سایت خودت عوضشون کنی، چون من سورس رو نداشتم و از سایت خودم برات گذاشتم. امیدوارم کمکت کرده باشم...
 
آخرین ویرایش:

mostafa_az

Well-Known Member
آقا دستت طلا . میشه بگی اینارو تو کدوم تگ باید بزارم و چطوری مطابق سایت خودم درشون بیارم ؟ اگه میشه یکم واضح توضیح بده و در حد مبتدی توضیح بده . :wink:

مخلصیم
مصطفی
 

echessdesign

مدیر انجمن طراحی وب
شما اسکریپتی می خواین که عکس های مورد نظر شما رو بهمراه لود صفحه بارگیری کنه و زمانی که نیاز به فراخوانی یه عکس بود ، نیاز نباشه که عکس مورد نظر تازه از سرور فراخوانی بشه.
مشکل شما تنها با یک فایل جاوااسکریپت 3 خطی حل میشه که در تمام مرورگر های با پشتیبانی جاوا اسکریپت جواب میده:
HTML:
 opera = new Image(173,126)
opera.src= "img/opera.jpg"
mozillafirefox = new Image(173,126)
mozillafirefox.src= "img/mozillafirefox.jpg"
netscape = new Image(173,126)
netscape.src= "img/netscape.jpg"
ie = new Image(173,126)
ie.src= "img/ie.jpg"
background = new Image(300,35)
background.src= "img/menubg.jpg"
menubackground = new Image(300,35)
menubackground.src= "img/menubg.jpg"
فقط در قسمت Image ابعاد عکس رو بدین. در قسمت src مسیر زخیره عکس رو بدین. و نام تابع فراخونی خود را به دلخوا مشخص کنید: مانند: menubackground, background,... همونطور که در مثال می بینید.
این فایل را بانام یه فایل جاوا ایکریپت خارجی ذخیره کنید، مانند loadimage.js و سپس آن را به صفحه مورد نظر خود لینک کنید:
HTML:
 <script language="JavaScript" type="text/JavaScript" src="loadimage.js">
بانک کامل جاوا اسکریپت: http://javascript.echessdesign.com
موفق باشید.
 

winsent

Banned
دوستمون گفت

دوست خوبمون echessdesign توضیح بهتر و کاملتری رو داده، امیدوارم به دردتون بخوره... اگر از نوشته های من سر در گم شدید عذر میخوام چون بهتون گفته بودم که من سورس رو نداشتم... موفق باشید
 

mostafa_az

Well-Known Member
آقا ایول . دست جفتتون درد نکنه . مصیبتی بود عظیم برای اینجانب .
با تشکر فراوان .

مخلصیم
مصطفی
 

mostafa_az

Well-Known Member
آقا میگم یه چیزی . میگم میشه یه نمونه به من بدین ؟ نیست که خیلی خنگم برا همین نمیفهمم چطوریه . :wink:

مخلصیم
مصطفی
 

bahy_my

Active Member
غير حرفه اي اما خوب

سلام
خوب تيتر پستم هم معلوم مي كنه چه نوعيش رو مي خوام بنويسم.
اين رو تو فوتر سايتتون بذارين :
HTML:
<style>
.no{
display:none;
</style>
<img src=youpic class=no>
حالا سريع لود ميشه.نه ؟ ! :D
اين راه درسته حرفه اي نيست اما به نظر من كاري و خوب و ساده و كم حجمه.
خدانگهدار
 

M_Alireza

Member
فکر کنم این خیلی خیلی راحت تر باشه

قبل از تگ بادی

<script language="JavaScript" type="text/JavaScript">
<!--
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}}
}
//-->
</script>




هر عکسی رو بخوای میزاری اینجا (داخل تگ بادی)

عکسی که به عنوان عکس دوم هست رو میگم.

<body onLoad="MM_preloadImages(نام فایل)">



البته ممکنه که متن بالا یک کم کلماتش قاطی بشه که وقتی کپیش کنی جای دیگه درست میشه
کلا اگه با دریم ویور کار کنی خیلی بهتره -- توش آماده همین رو داره (منم از همون جا کپی کردم)
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا