глюк с подкачкой картинок

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем Guest_NIX_*, 4 янв 2006.

Статус темы:
Закрыта.
  1. Guest_NIX_*

    Guest_NIX_* Гость

    Проблема в следующем.
    В коде главной страницы используются функции подмены картинок по событию мышки, предварительная загрузка (onload в теге <body>) и ссылки на другой документ (через href="…" target="_blank").
    На главной странице смена картинок после подгрузки работает нормально, но как только нажать на ссылку, по которой открывается новое окно и щелкнуть мышой на главной странице пока открывается новое окно возникает глюк: на главной странице перестает работать быстрая смена картинок по событию навода мыши. Каждый раз когда наводится мышь – заново загружается картинка для подмены. В чем трабл? Ведь в начале - картинки были подгружены. Куда все девается?

    Sergey.
     
  2. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    Для: Guest_NIX_*
    код дай
     
  3. Guest_NIX_*

    Guest_NIX_* Гость

    <script language="JavaScript">
    <!--

    function swapImgRestore() { //v3.0
    var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a)&&x.oSrc;i++) x.src=x.oSrc;
    }

    function preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a.indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a;}}
    }

    function findObj(n, d) { //v3.0
    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=findObj(n,d.layers.document); return x;
    }

    function swapImage() { //v3.0
    var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
    if ((x=findObj(a))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }
    //-->
    </SCRIPT>

    <script language="JavaScript">
    <!--
    function preLoad(){
    preloadImages('files/pic_1_1.gif','files/pic_2_2.gif','files/pic_3_3.gif','files/pic_4_4.gif','files/pic_6_6.gif','files/pic_7_7.gif','files/pic_8_8.gif','files/pic_9_9.gif','files/contact1.gif','files/home1.gif','interior/int1_1.gif','interior/int2_2.gif','interior/int3_3.gif','interior/int4_4.gif');
    }


    // -->
    </script>

    </head>

    <body leftMargin=0 topMargin=0 marginheight="0" marginwidth="0" bgcolor=#000000 onload=preLoad()>

    <tr align=right><td>
    <A onmouseover="swapImage('pic_7','','files/pic_7_7.gif',1)" onmouseout=swapImgRestore()
    href="calendar.htm"><IMG src="files/pic_7.gif" border=0 name=pic_7></A>
    </td></tr>
     
  4. Artexoid

    Artexoid Гость

    Аналогичная ситуация !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    В Опере работает нормально в Internet Explorer'е также не подменяет картинку из буфера, а загружает её с сервера заново !!!!!!!!!!!!!!!!! Что за глюк такой...

    Вот код:

    Код (Text):
    <head>
    <title></title>
    <script language='JavaScript'>
    var img1=new Image(); img1.src="key-basket.png";
    var img2=new Image(); img2.src="key-basket-over.png";
    var img3=new Image(); img3.src="key-basket-clic.png";
    var img4=new Image(); img4.src="key-help.png";
    var img5=new Image(); img5.src="key-help-over.png";
    var img6=new Image(); img6.src="key-help-clic.png";
    var img7=new Image(); img7.src="key-mes.png";
    var img8=new Image(); img8.src="key-mes-over.png";
    var img9=new Image(); img9.src="key-mes-clic.png";
    var img10=new Image(); img10.src="key-persdat.png";
    var img11=new Image(); img11.src="key-persdat-over.png";
    var img12=new Image(); img12.src="key-persdat-clic.png";

    function over() { var a=window.event.srcElement;
    if (a.tagName=="IMG")
    a.src=a.src.substring(0, a.src.length-4) + "-over"+
    a.src.substring(a.src.length-4, a.src.length);
    }
    function overback() { var a=window.event.srcElement;
    if (a.tagName=="IMG")
    a.src=a.src.substring(0, a.src.length-9) +
    a.src.substring(a.src.length-4, a.src.length);
    }
    function oclick() { var a=window.event.srcElement;
    if (a.tagName=="IMG")
    a.src=a.src.substring(0, a.src.length-9) + "-clic"+
    a.src.substring(a.src.length-4, a.src.length);
    }
    function oclickback() { var a=window.event.srcElement;
    if (a.tagName=="IMG")
    a.src=a.src.substring(0, a.src.length-9) + "-over" +
    a.src.substring(a.src.length-4, a.src.length);
    }
    </script>
    </head>

    <body>
    <a href="#"onMouseOver='over()' onMouseOut='overback()' onMouseDown='oclick()' onMouseUp='oclickback()'><img src="key-mes.png" alt="" name="masss" width="211" height="32" border="0"></a>
    </body>
    В <body> я еще вот так пробывал всёравно в Internet Explorer'е нет изменений, как загружало картинку с сервера так и загружает!!!!!:

    Код (Text):
    <a href="#" onMouseOver="masss.src=img8.src" onMouseOut="masss.src=img7.src" OnMauseUp="masss.src=img8.src" OnMauseDown="masss.src=img9.src"><img src="key-mes.png" alt="" name="masss" width="211" height="32" border="0"></a>
     
Загрузка...
Похожие Темы - глюк подкачкой картинок
  1. Lariel
    Ответов:
    4
    Просмотров:
    395
  2. R4z0R
    Ответов:
    2
    Просмотров:
    3.229
  3. anna
    Ответов:
    17
    Просмотров:
    1.077
  4. NickProstoNick
    Ответов:
    0
    Просмотров:
    808
  5. NickProstoNick
    Ответов:
    4
    Просмотров:
    1.313
Статус темы:
Закрыта.

Поделиться этой страницей