2010-06-07 3 views
1

У меня есть javascript, который запускает таймер, который что-то оживляет на веб-сайте.Javascript, изменяющий источник изображения

Это все работает отлично, но я хочу, чтобы получить изображение, чтобы измениться, когда анимация запускается, он использует JQuery:

if(options.auto && dir=="next" && !clicked) 
{ 
    timeout = setTimeout(function(){ 
if (document.images['bullet1'].src == "img/bulletwhite.png") 
{ 
     document.images['bullet1'].src = "img/bullet.png"; 
     document.images['bullet2'].src = "img/bulletwhite.png"; 
} 
animate("next",false); 
        },diff*options.speed+options.pause); 
       } 

options.auto означает, что его автоматически на велосипеде, реж направление движения и щелкнул, будет ли пользователь щелкнуть его.

Что-то не так с моим синтаксисом здесь? Я запустил с ним firebug, и он не бросает никаких ошибок, он просто не сработает. Любой совет поможет!

Я должен упомянуть, что src bullet1 начинается с bulletwhite.png, а затем я надеялся, что он изменится на bullet.png и изменит bullet2 на bulletwhite.png.

+0

У вас есть неуместны точка с запятой на 2-й линии. Вероятно, это не тот ответ, который вы ищете, а просто хотел сообщить вам. – lewiguez

+0

Я думаю, что последняя строка не должна быть с точкой с запятой, а также –

+0

спасибо, я исправлю это. –

ответ

0

В соответствии с кодом, который вы опубликовали, на второй строке есть странная точка с запятой, но, возможно, это просто опечатка.

Почему бы вам не попробовать вызов JQuery attr() вместо использования массива document.images?

$('img[name="bullet1"]').attr('src', 'img/bullet.png'); 
+0

Что такое предполагаемое преимущество использования jQuery здесь над _native_ и w3c-совместимым документом. изображений? Также весьма вероятно, что подход jQuery немного медленнее: анализ синтаксического выражения (+, вероятно, есть еще кое-что, что скрыто за «$ (...)») или доступ к свойству коллекции через ключ –

+0

, это действительно сработало, но я заменил изображение img –

+0

Другими словами, я был прав - вы сравнивали свойство с атрибутом, и оно также не имеет никакого отношения к jQuery. Также атрибут name устарел. :) –

1
document.images['bullet1'].src == "img/bulletwhite.png" 

Вы уверены, что это условие никогда не встречались?

Обычно imageElement.src свойства имеет абсолютную/разрешенное версии того, что находится в Src атрибуте. (Это также относится и к HREF атрибута/свойства.)

<img src="/images/img1.png"> 

...

document.images[0].src => "http://127.0.0.1/images/img1.png" 
+0

hmm интересно, это применимо и к getElementById? –

+0

Это не имеет никакого отношения к тому, как вы получаете ссылку на элемент изображения, это все тот же элемент. (Другими словами: да.) –

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