2013-04-08 1 views
0

레일 3.2에서 슬라이드 쇼를 구현하려고하는데 행운이 없습니다. 이 튜토리얼 http://www.designchemical.com/lab/jquery/demo/jquery_demo_image_swap_gallery.htm을 따르려고했지만, Rails와 jQuery에 익숙하지 않아서 데이터베이스에서 이미지를 호출하는 명령을 적용하는 방법을 완전히 잃어 버렸다.레일에서 이미지를 가져온 jQuery 슬라이드 쇼가 작동하지 않습니다.

따라서 여러분이 저를 도와 줄 수 있다면 정말 감사드립니다.

지금까지 모든 이미지 (상단의 주 이미지와 4 개의 작은 이미지 (기본 주 + 3 기타))가 데이터베이스에서 호출되어 웹 페이지에 올바르게 표시되었지만 슬라이드 쇼를 적용하고 싶습니다 더보기 좋게 만들기 위해서. 아래의 작은 이미지 위로 마우스를 가져 가면 맨 위의 주 그림으로 표시됩니다.

응용 프로그램/뷰/가정/show.html.erb를

<div class="homepics"> 
    <div class="homemainpic"> 
    <%= image_tag "/"[email protected][0].image_path, :size => "925x600" %> 
    </div> 
    <ul> 
    <% @home.images.each {|image| %> 
    <li><%= image_tag "/"+image.image_path, :size => "220x150" %></li> 
    <% } %> 
    </ul> 
</div> 

응용 프로그램/자산/자바 스크립트가

$(document).ready(function() { 

    $(".homemainpic li image_tag").hover(function() { 
     $('image_tag').attr('src', $(this).attr('src').replace('image_tag "/"+image.image_path')); 
    }); 

    var imgSwap = []; 
     $(".homemainpic li image_tag").each(function() { 
      imgURL = this.src.replace('image_tag "/"+image.image_path'); 
      imgSwap.push(imgURL); 
    }); 

    $(imgSwap).preload(); 
}); 

    $.fn.preload = function() { 
     this.each(function() { 
      $('image_tag "/"[email protected][0].image_path') [0].src = this; 
     }); 
    }; 

답변

0

이 시도 : 코드 내가 가진 것

:

$(".homepics ul img").on('mouseover', function() { 
    $('.homemainpic img').attr('src', $(this).attr('src')); 
}); 

Fiddle

+0

감사합니다. @ethagnawl. 코드의 처음 두 줄만 바꾸고 나머지는 남겨 두는 것을 의미합니까? 또는'.homemainpic li image_tag'을'.homepics ul img'으로 바꾸고 현재의 모든'image_tag'를'.homemeinpic img'으로 대체 하시겠습니까? – Ron

+0

당신은 영웅입니다 !!! 나는 단지 처음 두 라인을 대체하고 charme처럼 작동합니다. 그 점에 대해 많은 감사드립니다. – Ron

+0

죄송합니다, Ron,하지만 오늘 귀하의 질문에 답변 할 기회가 없었습니다. 나는 당신이 일을 정리할 수있어서 기쁘다. :) – pdoherty926

관련 문제