2011-11-09 14 views
1

JSON 피드에서 가져온 이미지로이 슬라이드 쇼를 가지고 있습니다. 이미지에는 피드에서 가져온 alt 속성이 있지만 alt 값을 이미지에 표시하고 싶습니다. 첫 번째 이미지의 첫 번째 alt 만 표시하기 때문에 작동하지 않습니다.이미지와 함께 텍스트를 변경하십시오.

어떻게해야합니까?

htmlString += '<img src="' + item.url_m + '" alt="' + item.title + '"><span class="etc">"'+item.title+'"</span>'; 

을 그리고 여기에 전체 코드입니다 :

이 내가 가진 것 라인은 수정하는 것입니다

$(document).ready(function() { 
if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(function(position) { 
     var lat = position.coords.latitude; 
     var lon = position.coords.longitude; 

     var JSONURL = "http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=d512a7bb4b7c0a6eb65d5095464ebf3f&format=json&privacy_filter=1&media=photos&tag=london&has_geo=1&accuracy=11&content_type=1&extras=geo,owner_name,url_m&page=1&per_page=20&radius_units=km&radius=5&lat="+lat+"&lon="+lon+"&jsoncallback=?"; 
    jQuery.getJSON(JSONURL, getJSONimages); 
    function getJSONimages(data) { 
    var htmlString = ""; 
    $.each(data.photos.photo, function(i,item){ 
     htmlString += '<img src="' + item.url_m + '" alt="' + item.title + '"><span class="etc">"'+item.title+'"</span>'; 
    });  
    $('#slideshow').html(htmlString); 
    $('#slideshow').slideshow({ 
       timeout: 3000, 
       type: 'random', 
       fadetime: 2000 
      });  
    }   
    }); 
} 
else {  

}   
    }) 

내가 그런 시도했지만 작동하지 않습니다는?

var display_alt = $("#slideshow img").attr("alt"); 그리고 나서 display_alt var를 범위에 표시하지만 다시 같은 문제가 발생합니다.

답변

0

$("#slideshow img")#slideshow 요소의 자손 인 모든 이미지를 선택합니다.

$("#slideshow img").eq(1).attr('alt');//this will select the second image in the set 

문서 : http://api.jquery.com/eq

$("#slideshow img").eq($("#slideshow img").index(current_slide_element)).attr('alt');//this will select the image in the set that matches the element stored in the `current_slide_element` variable 

문서 : http://api.jquery.com/index

많은 시간이 슬라이드 쇼 플러그인 당신은 같은 것을 사용하여 검색 범위를 좁힐 필요가 특정 이미지의 alt 속성을 얻고 싶다면 현재 슬라이드에 클래스를 추가하거나 현재 슬라이드 인덱스를 액세스 가능한 변수에 저장합니다. 이 방법을 사용하면 현재 슬라이드의 색인을 찾아 해당 슬라이드의 alt 태그를 가져올 수 있습니다. 더 정확한 정보가 없으면 내가 얻을 수있는만큼 정확합니다.

+0

내 슬라이드 쇼가 매우 간단하며 Z- 인덱스의 사용과 인라인 CSS를 사용 : 그것은 <span class="etc">에 각 <img> 복사의 alt 특성을 통해 이동한다. 나는 당신의 요지를 이해하지만 그것을 구현하는 방법을 여전히 이해하지 못한다. 나는 더 많은 조사를하고 사진을 선택하고 그에 따라 제목을 적용하는 방법을 찾으려고 노력할 것이다. – Chris

0

이렇게하면됩니다.

$("#slideshow img").each(function(){ 
    var alt = $(this).attr("alt"); 
    $(this).next("span.etc").html(alt); 
}); 
+0

감사합니다! 나는 그것을 내 루프에 넣으려고 시도했다. 그 사이에, 그 사이에, 나는 틀린 것을 이해하지 못한다. 그리고 나는 당신의 코드를 이해할지라도 (나는 완전한 초보자이며 지금까지 한 것을 쓸 수 있었다. 포럼 및 강렬한 연구를 통해 도움을 얻음), 구현할 위치를 정확히 이해할 수 없습니다. – Chris

+0

나는 바이올린을 게시 할 수 있습니까? – Chris

관련 문제