Сломался скрипт замены картинки

Тема в разделе "JavaScript", создана пользователем Runapa, 16 фев 2014.

Модераторы: ZiX
  1. Runapa

    Runapa Постоялец

    Регистр.:
    30 окт 2010
    Сообщения:
    64
    Симпатии:
    5
    Написал небольшой скрипт, который заменяет картинку по маске при наведении на неё курсором.

    Код:
    $(document).ready(function(){
                        $(".menu_image")
                            .mouseover(function() {
                                var src1 = $(this).attr('src');
                                if (src1.indexOf('_ov') + 1) {
                                    src1 = $(this).attr('src');
                                    src2 = 1;
                                }else{
                                    var src = $(this).attr('src').match(/[^\.]+/) + "_ov.jpg";
                                    $(this).attr("src", src);
                                    src2 = 0;
                                }
                            })
                            .mouseout(function() {
                                if(src2 == 1){
                                    var src = $(this).attr("src");
                                    src2 = 0;
                                }else{
                                    var src = $(this).attr("src").replace("_ov.jpg", ".jpg");
                                    $(this).attr("src", src);
                                }
    
                            });
                    });
    Трудность в том, что на денвере скрипт работает, а на серваке - нет. Опытным путём установил что скрипт не получает путь к картинке. То есть $(this).attr("src"); пустой почему-то. Хотя картинки загружаются.
    Что это может быть ?
     
  2. antiterror

    antiterror xProgramming

    Регистр.:
    22 авг 2007
    Сообщения:
    344
    Симпатии:
    135
    Кусок с изображением можно из html? может путь не совпадает.
    Я бы посоветовал сделать rel или content с полной ссылкой на изображение при выводе на сайте и потом уже значение не
    src брать а с rel или content.
     
  3. Vishez

    Vishez

    Регистр.:
    19 авг 2013
    Сообщения:
    170
    Симпатии:
    81
    Проверь пути к библиотекам JQuery и др
     
  4. Runapa

    Runapa Постоялец

    Регистр.:
    30 окт 2010
    Сообщения:
    64
    Симпатии:
    5
    Пути совпадают.
    Путь к картинке берется из базы. Собственно картинка загружается норм. А вот при наведении мыши пути уже не прописываются.

    А можно подробней ?
     
  5. Vishez

    Vishez

    Регистр.:
    19 авг 2013
    Сообщения:
    170
    Симпатии:
    81
    Отлаживать js пробовал?
    var src1 = $(this).attr('src'); строка выполняется?
    Также возможны конфликты с mootools, у меня такое было.
     
  6. Runapa

    Runapa Постоялец

    Регистр.:
    30 окт 2010
    Сообщения:
    64
    Симпатии:
    5
    Ну он вместо пути к картинке выдаёт http://www_ov.jpg
    Когда мышку уберешь, путь становится http://www.jpg
    А про mootools сейчас читать буду.

    и да - сайт, где не работает.
     
  7. Vishez

    Vishez

    Регистр.:
    19 авг 2013
    Сообщения:
    170
    Симпатии:
    81
    Пути к картинкам проверь http://www.jpg и http://www_ov.jpg этих картинок не существует)
    Значит имена файлов формируются неправильно.
     
    Последнее редактирование: 17 фев 2014
  8. Runapa

    Runapa Постоялец

    Регистр.:
    30 окт 2010
    Сообщения:
    64
    Симпатии:
    5
    Ну вот в приложении я пример привел. Как бы те пути что я привел - это результат работы скрипта.
     

    Вложения:

    • 111.png
      111.png
      Размер файла:
      24,3 КБ
      Просмотров:
      8
  9. Vishez

    Vishez

    Регистр.:
    19 авг 2013
    Сообщения:
    170
    Симпатии:
    81
    А вообще для данного случая(имхо) лучше обойтись без js. А сделать не img, а div с требуемым фоном. И в css при наведении мышки(псевдо-класс :hover) менять картинки.
     
    Последнее редактирование: 18 фев 2014
  10. Runapa

    Runapa Постоялец

    Регистр.:
    30 окт 2010
    Сообщения:
    64
    Симпатии:
    5
    А как обойтись одним классом ?