일부 Jquery 코드가 작동하는 데 문제가 있습니다. 내 문제는 제가 셀렉터를 작성하는 방법에 달려 있다고 생각합니다.JQuery Selector prevAll 문제
여기 내 원래의 HTML입니다 :
<div class="rotate">
<div class="offer-holder"><span class="lblSeconds">7</span></div>
<div class="offer-holder"><span class="lblSeconds">3</span></div></div>
... 그리고 여기 내 jQuery 코드입니다 : 이것은 완벽하게 작동
$("div.rotate div.offer-holder").hide().eq(1).show();
function rotate() {
var i = $("div.rotate div.offer-holder:visible").prevAll("div").length + 1;
i = i % $("div.rotate div.offer-holder").length;
var speed = $("div.rotate div.offer-holder").fadeOut().eq(i).fadeIn().find('.lblSeconds').text();
setTimeout("rotate()", (parseInt(speed) * 1000));
};
rotate();
(incidently의 CSS에서 제공하는 홀더의 위치가 설정됩니다 절대, 상단 : 0 픽셀, 왼쪽 : 0 픽셀). BTW,이 광고 로테이터입니다. 모든 div는 서로 겹치고 하나씩 나타나며 계속 반복됩니다.
지금, 나는 이런 식으로 뭔가 보이는 다른 페이지, 그것을 수정해야합니다 : 여기
<div class="rotate">
<div class="ob-offer-item rounded-corners clearfix">
<div class="test">
<div class="ob-offer-details">
<div class="offer-holder"> XXX </div></div></div></div></div>
을 ... 그리고 것은 내가 시도 내용은 다음과 같습니다
$("div.rotate div.ob-offer-item div.test div.ob-offer-details div.offer-holder").hide().eq(1).show();
function rotate() {
var i = $("div.rotate div.ob-offer-item div.test d div.ob-offer-details div.offer-holder:visible").prevAll("div").length + 1;
i = i % $("div.rotate div.ob-offer-item div.test d div.ob-offer-details div.offer-holder").length;
var speed = $("div.rotate div.ob-offer-item div.test d div.ob-offer-details div.offer-holder").fadeOut().eq(i).fadeIn().find('.lblSeconds').text();
setTimeout("rotate()", (parseInt(speed) * 1000));
};
rotate();
내가 의심이 내 문제가있다 전. 그것은 기본적으로 모든 div 앞에 숨어 있습니다 (내 생각에, 내가 말하고있는 것입니다). lblSeconds 값을 기반으로 한 광고에서 다음 광고로 멋진 페이드 대신 매초마다 지속적으로 깜박입니다. prevAll 선택기 경로를 수정하는 올바른 구문을 모르겠습니다. 나는 여러 가지 조합을 시도했지만 아무 소용이 없었다.
어떤 도움을 환영합니다.
감사합니다.
CSS를 포함하십시오. –
CSS는 질문에 꼭 필요한 것은 아니지만 사용되는 셀렉터가 실제로 읽기가 어렵다고 생각합니다. – kasdega
선택기에 HTML의 모든 단일 레이어를 포함 할 필요는 없습니다. 클래스의 충돌이 선택자의 모호성을 초래하지 않도록 충분히 포함시켜야합니다. – kasdega