У меня странный и разочаровывающий сценарий, и я не могу отследить его происхождение.
На странице jCarousellite прокручивается количество <li>
элементов. Список генерируется из запроса и затем выводится на страницу с помощью цикла. Внутри элементов списка все обернуто в тег <a></a>
.
Карусель работает так, как должна. На данный момент у меня есть только 2 элемента, возвращенные с запросом, и они без проблем прокручиваются мимо.
Странно, когда первый элемент в списке циклически возвращается назад, он игнорирует preventDefault()
или return false
и переходит на страницу в href
. Еще более странно, это происходит только при первом нажатии. Когда вы нажимаете кнопку «Назад» и возвращаетесь на страницу, а затем нажимаете ее снова, она действует, как и ожидалось, ничего не происходит, пока, конечно, она не перевернется заново.
Где призрак в этой машине? Я не получаю никаких ошибок в firebug ...
Вот код ...
<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
});
});