자바스크립트 충돌 문의 채택완료
다나한포션
2년 전
조회 1,242
안녕하세요
아래의 탭메뉴 스크립트를 사용하고 있습니다.
</p>
<p> <script>
jQuery( document ).ready(function() {
var tab_idx = 0;
$('.tab_list li>a').each(function(index){
if($(this).hasClass("on"))
tab_idx = index;
});
var tab_left = $('.tab_list li').eq(tab_idx).offset().left;
$('.tabbox').scrollLeft(tab_left);
});
</script></p>
<p>
구글링해서 사용하고 있던건데
위 스크립트를 사용하면
그누보드 회원가입시 전체동의 클릭과
자동등록방지 숫자가 아예 안나와 버립니다..
위 스크립트를 지워버리면 정상적으로 출력되구요..
스크립트에 뭔가 문제인지 전혀 감이 안와서요
고수님들 도움 부탁드립니다. ㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변 3개
채택된 답변
+20 포인트
2년 전
위 스크립트를 사용하면
자동등록방지 숫자가 아예 안나와 버립니다..<---원인은 무조건 자바스크립트 오류 때문입니다
F12 버튼으로 오류 코드를 찾으세요
아래처럼 수정하면 될 것입니다
</p>
<p><span class="token keyword keyword-var">var</span> tab_idx <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span></p>
<p>if($<span class="token punctuation">(</span><span class="token single-quoted-string string">'.tab_list li a'</span><span class="token punctuation">)</span><span class="token punctuation">.length){ //<----</span>
$<span class="token punctuation">(</span><span class="token single-quoted-string string">'.tab_list li>a'</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">each</span><span class="token punctuation">(</span><span class="token keyword keyword-function">function</span><span class="token punctuation">(</span>index<span class="token punctuation">)</span><span class="token punctuation">{</span>
<span class="token keyword keyword-if">if</span><span class="token punctuation">(</span>$<span class="token punctuation">(</span>this<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">hasClass</span><span class="token punctuation">(</span><span class="token double-quoted-string string">"on"</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
tab_idx <span class="token operator">=</span> index<span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-var">var</span> tab_left <span class="token operator">=</span> $<span class="token punctuation">(</span><span class="token single-quoted-string string">'.tab_list li'</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">eq</span><span class="token punctuation">(</span>tab_idx<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">offset</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span>left<span class="token punctuation">;</span>
$<span class="token punctuation">(</span><span class="token single-quoted-string string">'.tabbox'</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">scrollLeft</span><span class="token punctuation">(</span>tab_left<span class="token punctuation">)</span><span class="token punctuation">;</span>
}</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
다나한포션
2년 전
댓글을 작성하려면 로그인이 필요합니다.
2년 전
이것만 보고 정확히 알기는 어렵습니다만,
회원가입 폼에 $('.tabl_list_li') 객체가 없어서 스크립트 오류가 나는 게 아닐까 싶네요.
</p>
<pre>
<code>var tab_left = $('.tab_list li').eq(tab_idx).offset().left;
$('.tabbox').scrollLeft(tab_left);</code></pre>
<p><font face="monospace"><span style="font-size: 11.375px;">if($('.tab_list li').length > 0) {</span></font></p>
<p><code>var tab_left = $('.tab_list li').eq(tab_idx).offset().left; </code></p>
<p><code>$('.tabbox').scrollLeft(tab_left);</code></p>
<p><font face="monospace"><span style="font-size: 11.375px;">}</span></font></p>
<p><font face="monospace"><span style="font-size: 11.375px;">
이렇게 한번 바꿔서 해보세요
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
크롬에서 F12를 눌러서 콘솔 메뉴를 보시라는 말씀이신지요..