테스트 사이트 - 개발 중인 베타 버전입니다

(javascript/jquery)리스트 뿌려주는 코드 채택완료

moonlight205 4년 전 조회 3,445

 

파트너사 로고를 뿌려줘야하는데 갯수가 많아 스크립트를 짜다가 문의드립니다.

li 안에 img로 컨텐츠 갯수만큼 뿌려주길 원합니다.

컨텐츠 갯수는 정해져있습니다.(현재 페이지는 47개)

저 스크립트는 ul 안에 넣었구요.

콘솔 로그로 count를 찍어보면 숫자가 정상적으로 나오는데 src 이미지명이 47고정값으로 1가지 이미지 47개가 노출되네요.

해결 부탁드립니다 ㅠ_ㅠ...

댓글을 작성하려면 로그인이 필요합니다.

답변 5개

채택된 답변
+20 포인트
4년 전

$(".partner ul li img") 는 li 안의 모든 img 요소를 가리키게 됩니다.

...

40번째에는 40개 img 요소 모두가 40.svg 로 적용되고,

마지막 47번째에서는 47개 img 요소 모두가 47.svg 로 적용되는 코드입니다.

최종적으론 47.svg 만 보일 것입니다.

 

$(".partner ul li img")

->

$(".partner ul li img:last")

로 변경하면 될 듯 합니다.

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

m
moonlight205
4년 전
오류가 발생해 이미지노출이 안됩니다!
마르스컴퍼니
4년 전
$(".partner ul li img:last")
->
$(".partner ul li img:last-child")
m
moonlight205
4년 전
$(".partner ul li:last-child img") 로 해결되었습니다.
카운트 지우고 i로 넣어도 잘 작동되네요.
감사합니다!

댓글을 작성하려면 로그인이 필요합니다.

이미지주소가 배열에 담겨져 있나요?

배열에 담겨져 있지 않으면 1.svg, 2.svg 의 이름을 img_1.svg 에서부터 img_47.svg 로 고치고 opendir() 로 폴더를 열어서 "img_" 문자열이 검색되는 대로 루프문으로 돌려 카운터를 증가시키거나 배열에 담거나 해서 최종값을 빼야 합니다. 물론 더 많은 이미지나 적은 이미지를 써도 동일패턴으로 이미지 이름을 주면 그 갯수만큼 카운터가 되겠죠.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

비타주리
4년 전
위와 같이 바꾸었다 치고...

<?php
$num = 0;
$folder = opendir("./");
while ($files = readdir($folder)) if (strtolower(strpos($files, "img_") !== false)) $num = $num + 1;
echo "<script>imgTotal=".$num.";</script>";
closedir($folder);
?>
<ul>
<script>
for (i=1; i<=imgTotal; i++) document.write("<li><img src=img_" + i + ".svg></li>");
</script>
</ul>
m
moonlight205
4년 전
php가 아닌 html 파일에서 작업중입니다 ㅜ_ㅜ...
코드 작성해주셔서 감사드립니다!

댓글을 작성하려면 로그인이 필요합니다.

그냥 아래처럼 하면 카운터로 빠지니까...

 

<ul>
<script>
for (i=1; i<=47; i++) document.write("<li>" + i  + "</li>");
</script>
</ul>

 

----- 아래처럼 하면 되겠네요.

 

<ul>
<script>
for (i=1; i<=47; i++) document.write("<li><img src=" + i  + ".svg></li>");
</script>
</ul>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

m
moonlight205
4년 전
엄청 깔끔해졌네요 감사합니다!!!
근데 혹시 저 조건문 중 숫자를 .length로 변경이가능할까요??

댓글을 작성하려면 로그인이 필요합니다.

moonlight205

 

최종 성공코드 입니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

cuwaaang
4년 전

이미지이름이 1~47 ? 

count 말고 i를 넣으면 되지않나요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

m
moonlight205
4년 전
i로 넣으면 46번 이미지만 노출됩니다 ㅠ.,ㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인