2014-09-08 2 views
0

Я пытаюсь составить список href с разными клиентами, а затем добавить взаимодействие с пользователем, чтобы он показывал разные фотографии от клиентов.анкер список ссылок показать/скрыть изображение на mouseover

Сценарий выполняет свою работу, но я хочу немного изменить его. Я хочу изменить href, чтобы я мог ссылаться на другую страницу. В этом примере. Когда вы накладываете mouseView client1, он показывает изображение с сайта client1, и если вы нажмете его, он должен открыть клиентский сайт на новой вкладке.

Могу ли я использовать другой .attr и добавить его в html-код?

Я надеюсь, что кто-то может помочь мне здесь.

Большое спасибо

<li><a href="#client1">cleint1</a></li> 

    </ul></h5> 

    <ul id="clientTestimonials"> 
     <li id="default"></li> 
     <li id="client1" class="clients"> 
      <img src="http://blahblah.com/images/blah2.png"> 
     </li> 
     </li>      
    </ul> 

и JQuery ..

$(document).ready(function() { 

     $('#clientTestimonials li').hide(); 
    $('#clientTestimonials #default').show(); 

    //attach mouseover events on links 
    $('#clientList li a').mouseover(function() { 
     // get the classname 
     var id = $(this).attr('href'); 
     $('#clientTestimonials #default').hide(); 
     $('#clientTestimonials '+id).show(); 
    }); 

    $('#clientList li a').mouseout(function() { 
     // get the classname 
     var id = $(this).attr('href'); 
     $('#clientTestimonials #default').show(); 
     $('#clientTestimonials '+id).hide(); 

    }); 
}); 
+0

Не удалось ли сохранить идентификатор клиента как атрибут данных, а затем сохранить 'href' в качестве URL-адреса? Другой вариант - создать объект, который сохраняет URL как значение, а ключ будет идентификатором clientID. – bencripps

+0

спасибо за ответ .. Я предполагаю, что идея атрибута данных, которую вы упоминаете, такая же, как и ответ внизу? Который, кажется, не разбудит меня сразу. –

ответ

0

Использование data-client-id атрибута в ссылках, например

<ul id="clientList"> 
    <li><a href="#" data-client-id="client1">cleint1</a></li> 
</ul> 


<ul id="clientTestimonials"> 
    <li id="default">default</li> 
    <li id="client1" class="clients">new</li>      
</ul> 




    $('#clientTestimonials li').hide(); 
    $('#default').show(); 



$('#clientList li a').mouseover(function() { 
    // get the classname 
    var cid = $(this).data('client-id'); 
    $('#default').hide(); 
    $('#clientTestimonials #'+cid).show(); 
}); 

$('#clientList li a').mouseout(function() { 
    // get the classname 
    var cid = $(this).data('client-id'); 
    $('#clientTestimonials #default').show(); 
    $('#clientTestimonials #'+cid).hide(); 

}); 

UPD: Добавленная функция, я полагаю, она будет работать для вас сейчас. UPD2Fiddle

+0

Спасибо за ответ. Кажется, я не работаю сразу. Думаю, часть mouseout все равно должна находиться под кодом мыши или? Это имеет для меня смысл, но он не скрывает содержимое по умолчанию, когда я держу мышь над клиентом. –

+0

@ Kristian.Johansen Обновлен мой ответ. О позиции позиции mouseout - на самом деле не имеет значения, где вы ее размещаете, это просто нужно определить. –

+0

@ Kristian.Johansen UPD2 Существует скрипка, он отлично работает для меня. –