2011-01-15 2 views
1

Я знаю, как оттенки серого изображения. Я использую jquery accordion, и у меня есть изображения на каждом заголовке аккордеона. Я хочу изменить изображение в оттенки серого, когда аккордеон активен, и измените изображение до его первоначальной формы, когда аккордеон не активен. Я использую событие accordionChange. Проблема в том, что я не могу сохранить исходное изображение. Пожалуйста помоги. Также после градации серого я попытался дать оригинал src непосредственно какИзображение в оттенках серого и ссылка на исходное изображение назад

document.getElementById("imgId").src = "images/pic.jpg"; 

Это не работает.

+0

пожалуйста, напишите остальную часть кода, почему вы не используете Jquery sintaxt при загрузке JQuery? – amosrivera

+0

Вы используете jquery ui плагин аккордеона? http://jqueryui.com/demos/accordion/ – Michal

ответ

1

Если вы используете JQuery аккордеон щ вот ответ:

//please note these are global variables 
var imageArr=[]; 
var oldIndex = false; 
var oldSrc; 
$(document).ready(function(){ 

//grab all heading images 
imageArr = $("#accordion h3 img"); 

$("#accordion").accordion({ 
    change: function(event, ui) { 
     active = ui.options.active; 


     //restore clicked image 
     if (oldIndex!==false) { 
      $(imageArr[oldIndex]).attr("src",oldSrc); 
     } 

     //save current index for the future 
     oldIndex = active; 
     //save original src for the future 
     oldSrc = $(imageArr[active]).attr("src") 
     //implement some logic here to choose grayscale image and set the src value 
     $(imageArr[active]).attr("src","grayscale.png"); 
    } 
}); 

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