私は奇妙でイライラしたシナリオを経験しており、その原因を追跡できないようです。preventDefault()とfalseを返します。 jCarousellite <a>要素
私はjCarouselliteスクロール番号<li>
項目があります。リストはクエリから生成され、ループでページに出力されます。リスト項目の中には、すべてが<a></a>
タグで囲まれています。
カルーセルはすべきように機能します。今、私は2つのアイテムがクエリで返され、それらは問題なく過去にスクロールします。
奇妙なことに、リストの最初の項目が返されるときは、preventDefault()
またはreturn false
を無視して、href
のページをクリックします。さらに奇妙なことに、最初のクリックでのみ発生します。戻るボタンをクリックしてページに戻り、もう一度クリックすると、予期された意味で動作します。もちろん、それが新しいサイクルに戻るまでは何も起こりません。
このマシンのゴーストはどこにありますか? I放火犯にすべてのエラーを取得していないよ...
ここでのコードだ...
<div id="scroller">
<div class="slideshow">
<ul>
<cfloop query="qScrollers">
<li>
<cfset ref = "product.cfm?pid=" & #qScrollers.link#>
<cfoutput><a href="#ref#" class="specials" title="#qScrollers.title#" ></cfoutput>
<p><cfoutput>#qScrollers.line1#</cfoutput></p>
<h1><cfoutput>#qScrollers.line2#</cfoutput></h1>
<p><cfoutput>#qScrollers.line3#</cfoutput></p>
<h2><cfoutput>#qScrollers.line4#</cfoutput></h2>
</a> </li>
</cfloop>
</ul>
</div>
</div>
そして、ここで私の$(document).ready()
機能
$('.slideshow ul li a').click(function(e){
e.preventDefault();
});
//I've tried this too...//
/*$('.slideshow ul li a').click(function(){
return false;
});*/
$(function() {
$(".slideshow").jCarouselLite({
vertical: false,
visible: 1,
auto:2500,
speed:400,
hoverPause:true
});
});
これはやっているようでした!しかし、なぜ?関数の外側にある 'e.preventDefault();'は、 'a.specials'の上でクリックを取り除くべきではありませんか? – Ofeargall