2017-01-15 4 views
0

Итак, у меня есть два изображения: «безопасный-зеленый-зеленый» и «синий-синий», и я хочу изменить источник элементов изображения, в зависимости от того, какое содержимое источника будет вызываться, это будет для мыши и мыши. Вот JavaScript:Элемент JavaScript src change

function changeImage(id) { 
var src = document.getElementById(id).src; 
    if (src.search("green") != 0) { 
     src = src.replace("green", "blue"); 
    } else { 
     src = src.replace("blue", "green"); 
    } 
    document.getElementById(id).src = src; 
} 

и HTML теги я использую:

<img id="safety-pin" src="../images/safety-pin-green.jpg" alt="Safety pin" 
    onmouseover="changeImage(id)" onmouseout="changeImage(id)"></img> 

код работает почти, образы идут синий, но они не возвращаются к зеленому образу, когда мышь оставляет изображение, любые идеи, почему это так?

ответ

5

От MDN документации search,

Возвращаемого значения

Индекс первого матча между регулярным выражением и данной строкой; если не найдено, -1.

Заменить

src.search("green") != 0 

с

src.search("green") !== -1 
+0

Я вижу, я не был уверен, как работает функция поиска. Спасибо :) – Zachary

0

Я установил это :) просто '>' решает мою проблему.

if (src.search("green") > 0) { 
    src = src.replace("green", "blue"); 
}... 
Смежные вопросы