2010-07-05 3 views
0

Howdy. Это я снова, и это снова jQuery.jQuery анимированное изображение swap

У меня есть Somthing так: http://misiur.com/small/

Когда это меню на левой нажата, то я хочу, чтобы изменить ГКЗ этого образа, или просто поменять его. Однако я хочу сделать его анимированным. Пути изображений берутся из БД и сохраняются в массиве «изображения» (вы можете проверить это с помощью firebug).

благодаря

Обновление:

HTML() + PHP:

<div id="content_menu"> 
<ul> 
<?php 
$q = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."prodcat");         $c = 1;          $id = 1; 
foreach($q as $q) 
{ 
echo '<li class="ml'.$c.'"> 
<a id="e'.$id.'" href="cat/'.$q->id.'">'.$q->name.'</a> 
<img src="images/split.png" alt="" /> 
</li>'; 
$id++; 
$c++; 
if($c == 8) 
{ 
    $c = 1; 
} 
} 
</ul> 
</div> 
<div id="product_display"> 
     <div id="product"> 
       <img id="changer" src="images/ex.jpg" style="background-image: url('images/products/cat/2.png');" alt="Przykład" /> 
       <div id="pmore"><a href="#">Więcej</a></div> 
     </div> 
</div> 

JS:

<script type="text/javascript"> 
$(window).bind('load', function() 
{ 
var images = new Array(); 
<?php 
$q = $wpdb->get_results("SELECT id, image FROM ".$wpdb->prefix."prodcat"); 
foreach($q as $q) 
{ 
echo "images[".($q->id-1)."] = 'images/products/cat/".$q->image."';\r\n"; 
} 
?> 
$('#content_menu a').click(function(e){ 
e.preventDefault(); 
var id = this.id.substr(1) % 7; 
var i = this.id.substr(1); 
$('#changer').css('background-image', images[i]); 
switch(id) 
{ 
    case 2: 
     $('#product').animate({ backgroundColor: '#FFCD00' }, 500); 
     $('#pmore').animate({ backgroundColor: '#FFCD00' }, 500); 
    break; 
    case 3: 
     $('#product').animate({ backgroundColor: '#F7A604' }, 500); 
     $('#pmore').animate({ backgroundColor: '#F7A604' }, 500); 
    break; 
    case 4: 
     $('#product').animate({ backgroundColor: '#9A05E8' }, 500); 
     $('#pmore').animate({ backgroundColor: '#9A05E8' }, 500); 
    break; 
    case 5: 
     $('#product').animate({ backgroundColor: '#096EE3' }, 500); 
     $('#pmore').animate({ backgroundColor: '#096EE3' }, 500); 
     break; 
    case 6: 
     $('#product').animate({ backgroundColor: '#24A205' }, 500); 
     $('#pmore').animate({ backgroundColor: '#24A205' }, 500); 
    break; 
    case 0: 
     $('#product').animate({ backgroundColor: '#D41E0C' }, 500); 
     $('#pmore').animate({ backgroundColor: '#D41E0C' }, 500); 
    break; 
    case 1: 
     default: 
     $('#product').animate({ backgroundColor: '#44B2EE' }, 500); 
     $('#pmore').animate({ backgroundColor: '#44B2EE' }, 500); 
} 
$('#changer').cross(); 

}); });

BTW. теперь нажмите не работает

+3

Я думаю, что это хорошая идея опубликовать вашу треску е здесь, чтобы сделать вопрос самодостаточным и, следовательно, более полезным для будущих прохожих, которые прибывают сюда через поисковую систему. Скорее всего, к тому времени тестовая страница, с которой вы связаны, больше не существует, что делает этот вопрос бесполезным. – Tomalak

ответ

0

Нечто вроде this?

+0

Ну, я пробовал, однако у меня появилось новое представление об этом. Я скажу, обнаружил ли я что-нибудь. – Misiur

1

@Misiur

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

var images = new Array(); 
images[] = 'images/products/cat/1.jpg'; 
images[] = 'images/products/cat/2.png'; 

Я думаю, это должно быть нечто вроде этого

var images = new Array(); 
images[0] = 'images/products/cat/1.jpg'; 
images[1] = 'images/products/cat/2.png'; 

Извините, если я ошибаюсь (или) вводит вас в заблуждение

+0

PHP Habit: D Теперь лучше – Misiur