2014-12-18 2 views
0

Я пробовал все, что прокомментировал этот пост ->onClick(), onMouseOver() and onMouseOut() with image, но не повезло.проблемы с применением onClick(), onMouseOver() y onMouseOut() для изменения img

Я хочу изменить изображение в другом (src в основном), когда onmouseover() и onclick(). Кроме того, когда onmouseout() сделают img, вернитесь к оригиналу.

Мой код:

<nav class="nav nav-tabs nav-justified" role="banner"> 
    <div class="collapse navbar-collapse navbar-right"> 
       <ul class="nav nav-tabs"> 
        <li onclick="cambioSeccion('especialistas');" onmouseover="changeImgToWhite('img1');" onmouseout="changeImgToOriginal('img1');"> 
         <a href="#" id="especialistasBoton"><i class="fa">&nbsp;<img id="img1" src="images/icons/Stethoscope.png" alt="logo"></i>&nbsp;NUESTROS ESPECIALISTAS</a></li> 
        <li onclick="cambioSeccion('servicios');" onmouseover="changeImgToWhite('img2');" onmouseout="changeImgToOriginal('img2');"> 
         <a href="#" id="serviciosBoton"><i class="fa">&nbsp;<img id="img2" src="images/icons/services.png" alt="logo"></i>&nbsp;SERVICIOS</a></li> 
        <li onclick="cambioSeccion('aseguradoras');" onmouseover="changeImgToWhite('img3');" onmouseout="changeImgToOriginal('img3');"> 
         <a href="#" id="aseguradorasBoton"> 
          <i class="fa">&nbsp;<img id="img3" src="images/icons/maletin.png" alt="logo"></i>&nbsp;ASEGURADORAS Y MUTUALIDADES</a></li> 
        <li onclick="cambioSeccion('instalaciones');" onmouseover="changeImgToWhite('img4');" onmouseout="changeImgToOriginal('img4');"> 
         <a href="#" id="instalacionesBoton"> 
          <i class="fa">&nbsp;<img id="img4" src="images/icons/House.png" alt="logo"></i>&nbsp;INSTALACIONES</a></li> 
        <li onclick="cambioSeccion('dondeestamos');" onmouseover="changeImgToWhite('img5');" onmouseout="changeImgToOriginal('img5');"> 
         <a href="#" id="dondeestamosBoton"> 
          <i class="fa">&nbsp;<img id="img5" src="images/icons/location.png" alt="logo"></i>&nbsp;¿DONDE ESTAMOS?</a></li> 
       </ul> 
    </div> 
</nav> 

JavaScript:

/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 

var activo = '#main-slider'; 


function cambioSeccion(seccion){ 

    if(seccion==='especialistas'){ 
     $(activo).slideToggle("slow"); 
     $('#especialistas').slideToggle("slow"); 
     activo = '#especialistas'; 
     changeImgToOriginal('img2'); 
     changeImgToOriginal('img3'); 
     changeImgToOriginal('img4'); 
     changeImgToOriginal('img5'); 
     changeImgToWhite('img1'); 
    } 

    if(seccion==='servicios'){ 
     $(activo).slideToggle("slow"); 
     $('#servicios').slideToggle("slow"); 
     activo = '#servicios'; 
     changeImgToOriginal('img1'); 
     changeImgToOriginal('img3'); 
     changeImgToOriginal('img4'); 
     changeImgToOriginal('img5'); 
     changeImgToWhite('img2'); 
    } 

    if(seccion==='aseguradoras'){ 
     $(activo).slideToggle("slow"); 
     $('#aseguradoras').slideToggle("slow"); 
     activo = '#aseguradoras'; 
     changeImgToOriginal('img1'); 
     changeImgToOriginal('img2'); 
     changeImgToOriginal('img4'); 
     changeImgToOriginal('img5'); 
     changeImgToWhite('img3'); 
    } 

    if(seccion==='instalaciones'){ 
     $(activo).slideToggle("slow"); 
     $('#instalaciones').slideToggle("slow"); 
     activo = '#instalaciones'; 
     changeImgToOriginal('img1'); 
     changeImgToOriginal('img2'); 
     changeImgToOriginal('img3'); 
     changeImgToOriginal('img5'); 
     changeImgToWhite('img4'); 
    } 

    if(seccion==='dondeestamos'){ 
     $(activo).slideToggle("slow"); 
     $('#dondeestamos').slideToggle("slow"); 
     activo = '#dondeestamos'; 
     $('#map-container').css("display","block"); 
     init_map(); 
     changeImgToOriginal('img1'); 
     changeImgToOriginal('img2'); 
     changeImgToOriginal('img3'); 
     changeImgToOriginal('img4'); 
     changeImgToWhite('img5'); 
    } else{ 
     $('#map-container').css("display","none"); 
    } 
} 

function changeImgToWhite(param){ 
    if(param === 'img1'){ 
     $('#' + param).attr('src','images/icons/Stethoscopewhite.png'); 
     $('#especialistasBoton').css('background-color', '#79BAB3'); 
     $('#especialistasBoton').css('color', '#FFF'); 
    } 

    if(param === 'img2'){ 
     $('#' + param).attr('src','images/icons/serviceswhite.png'); 
     $('#serviciosBoton').css('background-color', '#79BAB3'); 
     $('#serviciosBoton').css('color', '#FFF'); 
    } 

    if(param == 'img3'){ 
     $('#' + param).attr('src','images/icons/maletinwhite.png'); 
     $('#aseguradorasBoton').css('background-color', '#79BAB3'); 
     $('#aseguradorasBoton').css('color', '#FFF'); 
    } 

    if(param == 'img4'){ 
     $('#' + param).attr('src','images/icons/Housewhite.png'); 
     $('#instalacionesBoton').css('background-color', '#79BAB3'); 
     $('#instalacionesBoton').css('color', '#FFF'); 
    } 

    if(param == 'img5'){ 
     $('#' + param).attr('src','images/icons/locationwhite.png'); 
     $('#dondeestamosBoton').css('background-color', '#79BAB3'); 
     $('#dondeestamosBoton').css('color', '#FFF'); 
    } 
} 

function changeImgToOriginal(param){ 
    if(param === 'img1' && activo !== '#especialistas'){ 
     $('#' + param).attr('src', 'images/icons/Stethoscope.png'); 
     $('#especialistasBoton').css('background-color', '#FFF'); 
     $('#especialistasBoton').css('color', '#8E8E8E'); 
    } 

    if(param === 'img2' && activo !=='#servicios'){ 
     $('#' + param).attr('src', 'images/icons/services.png'); 
     $('#serviciosBoton').css('background-color', '#FFF'); 
     $('#serviciosBoton').css('color', '#8E8E8E'); 
    } 

    if(param === 'img3' && activo !=='#aseguradoras'){ 
     $('#' + param).attr('src', 'images/icons/maletin.png'); 
     $('#aseguradorasBoton').css('background-color', '#FFF'); 
     $('#aseguradorasBoton').css('color', '#8E8E8E'); 
    } 

    if(param === 'img4' && activo !=='#instalaciones'){ 
     $('#' + param).attr('src', 'images/icons/House.png'); 
     $('#instalacionesBoton').css('background-color', '#FFF'); 
     $('#instalacionesBoton').css('color', '#8E8E8E'); 
    } 

    if(param === 'img5' && activo !=='#dondeestamos'){ 
     $('#' + param).attr('src', 'images/icons/location.png'); 
     $('#dondeestamosBoton').css('background-color', '#FFF'); 
     $('#dondeestamosBoton').css('color', '#8E8E8E'); 
    } 
} 

/* Carrusel de aseguradoras */ 

$(document).ready(function() { 
    $('#Carousel').carousel({ 
     interval: 5000 
    }); 
}); 

Это ничего не делать, и я не могу понять, почему.

Отредактировано: Я отредактировал сообщение, чтобы показать, как я решил свою проблему. Я сделал это несколько дней назад, но я улучшил его. Надеюсь, это будет полезно для тех, у кого может быть такая же проблема в будущем :).

+0

удалить OnClick = "cambioSeccion ('Especialistas')" или использовать e.stopPropagation(); на этой функции, подающей параметр события. –

ответ

1

Пожалуйста, попробуйте эту

<img id="img1" src="http://www.topazlabs.com/bweffects_static/img/grain_before.jpg" alt="logo"> 
<input type="hidden" id="bck-img" value="http://www.topazlabs.com/bweffects_static/img/grain_after.jpg" /> 

$('#img1').on('mouseover', function (event) { 
    var thisSrc = $(this).attr('src'); 
    var changeSrc = $('#bck-img').val(); 
    $('#bck-img').val(thisSrc); 
    $(this).attr('src', changeSrc); 
}); 

$('#img1').on('mouseout', function (event) { 
    var thisSrc = $(this).attr('src'); 
    var changeSrc = $('#bck-img').val(); 
    $('#bck-img').val(thisSrc); 
    $(this).attr('src', changeSrc); 
}); 

Установите этот флажок скрипку: http://jsfiddle.net/hoja/rn6mg80z/

1

Прежде всего, я хочу поблагодарить всех тех, кто помог мне.

Я придумал одно решение моей проблемы. Это следующая:

Мой HTML:

<nav class="nav nav-tabs nav-justified" role="banner"> 
     <div class="collapse navbar-collapse navbar-right"> 
        <ul class="nav nav-tabs"> 
         <li onclick="cambioSeccion('especialistas')";> 
          <a href="#" onmouseover="changeImgToWhite('img1')"; onmouseout="changeImgToOriginal('img1')";> 
           <i class="fa">&nbsp;<img id="img1" src="images/icons/Stethoscope.png" alt="logo"></i>&nbsp;NUESTROS ESPECIALISTAS</a></li> 
         <li onclick="cambioSeccion('servicios');"> 
          <a href="#" onmouseover="changeImgToWhite('img2')"; onmouseout="changeImgToOriginal('img2')";> 
           <i class="fa">&nbsp;<img id="img2" src="images/icons/services.png" alt="logo"></i>&nbsp;SERVICIOS</a></li> 
         <li onclick="cambioSeccion('aseguradoras');"> 
          <a href="#" onmouseover="changeImgToWhite('img3')"; onmouseout="changeImgToOriginal('img3')";> 
           <i class="fa">&nbsp;<img id="img3" src="images/icons/maletin.png" alt="logo"></i>&nbsp;ASEGURADORAS Y MUTUALIDADES</a></li> 
         <li onclick="cambioSeccion('instalaciones');"> 
          <a href="#" onmouseover="changeImgToWhite('img4')"; onmouseout="changeImgToOriginal('img4')";> 
           <i class="fa">&nbsp;<img id="img4" src="images/icons/House.png" alt="logo"></i>&nbsp;INSTALACIONES</a></li> 
         <li onclick="cambioSeccion('dondeestamos');"> 
          <a href="#" onmouseover="changeImgToWhite('img5')"; onmouseout="changeImgToOriginal('img5')";> 
           <i class="fa">&nbsp;<img id="img5" src="images/icons/location.png" alt="logo"></i>&nbsp;¿DONDE ESTAMOS?</a></li> 
        </ul> 
     </div> 
    </nav> 

Мой JavaScript:

var activo = '#main-slider'; 
var clicked1 = false; 
var clicked2 = false; 
var clicked3 = false; 
var clicked4 = false; 
var clicked5 = false; 


function cambioSeccion(seccion){ 
    if(seccion=='especialistas'){ 
     $(activo).slideToggle("slow"); 
     $('#especialistas').slideToggle("slow"); 
     activo = '#especialistas'; 
     clicked1 = true; 
     clicked2 = false; 
     clicked3 = false; 
     clicked4 = false; 
     clicked5 = false; 
     changeImgToOriginal('img2'); 
     changeImgToOriginal('img3'); 
     changeImgToOriginal('img4'); 
     changeImgToOriginal('img5'); 
    }else{ 
     if(seccion == 'especialistasFooter'){ 
      $(activo).slideToggle("slow"); 
      $('#especialistas').slideToggle("slow"); 
      activo = '#especialistas'; 
      clicked1 = false; 
      clicked2 = false; 
      clicked3 = false; 
      clicked4 = false; 
      clicked5 = false; 
     } 
    } 

    if(seccion=='servicios'){ 
     $(activo).slideToggle("slow"); 
     $('#servicios').slideToggle("slow"); 
     activo = '#servicios'; 
     clicked1 = false; 
     clicked2 = true; 
     clicked3 = false; 
     clicked4 = false; 
     clicked5 = false; 
     changeImgToOriginal('img1'); 
     changeImgToOriginal('img3'); 
     changeImgToOriginal('img4'); 
     changeImgToOriginal('img5'); 
    }else{ 
     if(seccion=='serviciosFooter'){ 
      $(activo).slideToggle("slow"); 
      $('#servicios').slideToggle("slow"); 
      activo = '#servicios'; 
      clicked1 = false; 
      clicked2 = false; 
      clicked3 = false; 
      clicked4 = false; 
      clicked5 = false; 
     } 
    } 

    if(seccion=='aseguradoras'){ 
     $(activo).slideToggle("slow"); 
     $('#aseguradoras').slideToggle("slow"); 
     activo = '#aseguradoras'; 
     clicked1 = false; 
     clicked2 = false; 
     clicked3 = true; 
     clicked4 = false; 
     clicked5 = false; 
     changeImgToOriginal('img1'); 
     changeImgToOriginal('img2'); 
     changeImgToOriginal('img4'); 
     changeImgToOriginal('img5'); 
    }else{ 
     if(seccion=='aseguradorasFooter'){ 
      $(activo).slideToggle("slow"); 
      $('#aseguradoras').slideToggle("slow"); 
      activo = '#aseguradoras'; 
      clicked1 = false; 
      clicked2 = false; 
      clicked3 = false; 
      clicked4 = false; 
      clicked5 = false; 
     } 
    } 

    if(seccion=='instalaciones'){ 
     $(activo).slideToggle("slow"); 
     $('#instalaciones').slideToggle("slow"); 
     activo = '#instalaciones'; 
     clicked1 = false; 
     clicked2 = false; 
     clicked3 = false; 
     clicked4 = true; 
     clicked5 = false; 
     changeImgToOriginal('img1'); 
     changeImgToOriginal('img2'); 
     changeImgToOriginal('img3'); 
     changeImgToOriginal('img5'); 
    }else{ 
     if(seccion=='instalacionesFooter'){ 
      $(activo).slideToggle("slow"); 
      $('#instalaciones').slideToggle("slow"); 
      activo = '#instalaciones'; 
      clicked1 = false; 
      clicked2 = false; 
      clicked3 = false; 
      clicked4 = false; 
      clicked5 = false; 
     } 
    } 

    if(seccion=='dondeestamos'){ 
     $(activo).slideToggle("slow"); 
     $('#dondeestamos').slideToggle("slow"); 
     activo = '#dondeestamos'; 
     clicked1 = false; 
     clicked2 = false; 
     clicked3 = false; 
     clicked4 = false; 
     clicked5 = true; 
     changeImgToOriginal('img1'); 
     changeImgToOriginal('img2'); 
     changeImgToOriginal('img3'); 
     changeImgToOriginal('img4'); 
    } 
    else{ 
     if(seccion=='dondeestamosFooter'){ 
      $(activo).slideToggle("slow"); 
      $('#dondeestamos').slideToggle("slow"); 
      activo = '#dondeestamos'; 
      clicked1 = false; 
      clicked2 = false; 
      clicked3 = false; 
      clicked4 = false; 
      clicked5 = false; 
     } 
    } 

} 

function changeImgToWhite(param){ 
    if(param == 'img1'){ 
     $('#' + param).attr('src','images/icons/Stethoscopewhite.png'); 
    } 

    if(param == 'img2'){ 
     $('#' + param).attr('src','images/icons/serviceswhite.png'); 
    } 

    if(param == 'img3'){ 
     $('#' + param).attr('src','images/icons/maletinwhite.png'); 
    } 

    if(param == 'img4'){ 
     $('#' + param).attr('src','images/icons/Housewhite.png'); 
    } 

    if(param == 'img5'){ 
     $('#' + param).attr('src','images/icons/locationwhite.png'); 
    } 
} 

function changeImgToOriginal(param){ 
    if(param == 'img1' && clicked1 == false){ 
     $('#' + param).attr('src', 'images/icons/Stethoscope.png'); 
    } 

    if(param == 'img2' && clicked2 == false){ 
     $('#' + param).attr('src', 'images/icons/services.png'); 
    } 

    if(param == 'img3' && clicked3 == false){ 
     $('#' + param).attr('src', 'images/icons/maletin.png'); 
    } 

    if(param == 'img4' && clicked4 == false){ 
     $('#' + param).attr('src', 'images/icons/House.png'); 
    } 

    if(param == 'img5' && clicked5 == false){ 
     $('#' + param).attr('src', 'images/icons/location.png'); 
    } 
} 

Этот код выше, делают в основном это ->http://jsfiddle.net/rn6mg80z/10/ но и с другими ГИМ и структурой. Очень легко контролировать onmouseover и onmouseout (вы даже можете сделать это только с помощью CSS), но проблема была в onClick(). Я хотел убить функции onmouseover и onmouseout, как только onClick() войдет в игру.

Надеется, что это решение, которое я придумал может помочь кому-то еще :)

0

Я сделал это вскоре таким образом:

<a href="#" onmouseover="document.mySwitch.src='http://pic-zoom.com/media/images/80c9b7b74b.png'" onmouseout="document.mySwitch.src='http://www.haberler.com/haber-resimleri/195/polat-alemdar-dan-itiraf-2418195_o.jpg'"> 

    <img src="off.gif" name="mySwitch" /> 

</a> 
+0

yusuf

+0

первый не мой код. Я не понимаю, что произошло. – yusuf

Смежные вопросы