2013-03-03 2 views
1

О, заставка для моего нового сайта. Я хочу иметь событие mouseover, которое меняет цвет моего логотипа каждый раз, когда мышь перемещается. Ниже я перечислил код, который у меня есть, но я не могу его отобразить.Mouseover даже в javascript wont output

var images = new Array() 
images[0] = 'img/CMbl.png' 
images[1] = 'img/CMo.png' 
images[2] = 'img/CMg.png' 
images[3] = 'img/CMp.png' 
images[4] = 'img/CMblu.png' 

var p = images.length; 

logo = document.getElementById('logo'), 
console = document.getElementById('console'); 


logo.addEventListener('mousemove', changeImage); 


function changeImage() { 

var rand = Math.round(Math.random()*(p-1)); 

var image = p[ rand ]; 

if (image == logo.src) { 

    changeImage(); 
    return false; 
} 


logo.src = console.innerText = image; 
    function showImage(){ 
     document.write('<img src="+image[rand]">'); 
    } 
} 

и мой выход в HTML должен быть (Внутри «логотип» класса)

<script language="javascript"> 
showImage() 
</script> 

Я не могу понять, почему это не работает. Я использую аналогичный код для изменения изображения при обновлении, который по-прежнему использует math.random() и массив для вызова изображений.

+1

вар изображения = р [Rand]; для чего это ? не должно быть изображений [rand] –

+0

В дополнение к тому, что сказал харша, строка 'document.write()' должна быть 'document.write ('');'. Вероятно, 'document.write()' также вытирает весь код со страницы, но не может этого точно сказать, так как есть не весь код ... Дополнение к этому, 'console' - это родная функция/объект, это лучше использовать другое имя переменной. – Teemu

ответ

0

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

document.write('<img src="' + image[rand] + '">'); 

Вот пример работы (я думаю, это то, что вы собираетесь делать) Jsfiddle example Как вы можете видеть, это выглядит ужасно выглядящим, я бы не предложил его использовать.

+0

эй, я не уверен, что слишком поздно, но я не могу заставить его работать, как только я его реализую. Извините, как выглядит уродливое в настоящее время: http://cmiddleton.net/hello/, если бы вы могли указать мне в правильном направлении, что было бы здорово. –

+0

@CharlieMiddleton Попробуйте поместить скрипт в тег тела, также просто скопируйте мой код точно, не изменяйте его, кроме как вставлять изображения. – Zachrip

0

Я создал JSfiddle, который очищает часть кода и использует jQuery.

http://jsfiddle.net/jackcannon/2EXs5/

var images = [ 
     'http://colorvisiontesting.com/plate%20with%205.jpg', 
     'http://regentsparkcollege.org.uk/wp-content/uploads/2012/09/test.jpg', 
     'http://nyquil.org/uploads/IndianHeadTestPattern16x9.png', 
     'http://25.media.tumblr.com/tumblr_m9p3n1vJmZ1rexr16o1_400.jpg', 
     'http://www.themoralofthestoryis.com/wp-content/uploads/2013/01/test.gif' 
    ]; 


$('#logo').mouseover(changeImage); 

function changeImage() { 
    var rand = Math.floor(Math.random() * images.length); 
    var image = images[ rand ]; 
    if (image == $('#logo').attr('src')) { 
     changeImage(); 
     return false; 
    } 

    $('#logo').attr('src', image); 
}; 
+0

Я думаю, что jquery не требуется в этой ситуации. Это очень простой javascript, который используется. – Zachrip

+0

Использование jquery не является акцентом. это очистка. Используя изображения вместо p, заменив неправильно размещенные запятые на полуколоны и т. Д. –