I have five slide shows on one page and I want to be able to cycle through all of them. The slideshow is made of an UL with each a different ID, so I want to create two functions for the arrows to cycle through the slides. And I want to pass the slide ID. My code:
$(document).ready(function() {
var slides = document.querySelectorAll('#slides li');
var slidesTotal = $('#slides li').length;
var currentSlide = 1;
function nextSlide() {
//$('a.nextSlideArrow').click(function() {
$('#slides .slide' + currentSlide).hide();
currentSlide++;
if(currentSlide > slidesTotal) {
currentSlide = 1;
}
$('#slides .slide' + currentSlide).show();
//return false;
//});
}
function previousSlide() {
//$('a.previousSlideArrow').click(function() {
$('#slides .slide' + currentSlide).hide();
currentSlide--;
if(currentSlide == 0) {
currentSlide = slidesTotal;
}
$('#slides .slide' + currentSlide).show();
//return false;
//});
}
});
<div id="slider-container">
<ul id="slides">
<?php
for ($i = 1; $i <= $amountImagesSlideshow[3]; $i++) {
echo '<li class="slide'.$i.'"><img src="'.$directories[3],$i.'.jpg" /></li>';
}
?>
</ul>
<div class="galleryPreviewArrows">
<a href="javascript: previousSlide()" class="previousSlideArrow">❮</a>
<a href="javascript: nextSlide()" class="nextSlideArrow">❯</a>
</div>
</div>
Now the funny thing is, if I remove the comments where the click is on the jQuery object and comment out the function, it will work. But not this way? I don't understand.
答案 0 :(得分:1)
onclick事件与href属性的功能有所不同。
当你这样写:
<a href="javascript: previousSlide()" class="previousSlideArrow">❮</a>
这意味着,只要单击此锚标记,您就会过度引用(尝试重定向)到某个位置。 这并不意味着您只进行点击操作。这意味着,您正在进行点击+重定向。 href =点击+重定向。
然而,您的需求只是单击事件处理。因此,您如何通过jquery进行处理。
$('a').on("click",function(){
----
----
})
这样可以正常工作。
答案 1 :(得分:0)
您不应该使用href来尝试访问javascript函数。该属性用于导航目的。此外,绑定到jquery click甚至是处理事件的更好方法,因此您坚持分离关注点设计模式。
如果需要将函数调用放在属性装饰器中,请改用onclick
属性,不要通过添加括号来评估函数,只需引用它。
<a onclick="previousSlide" class="previousSlideArrow">❮</a>
答案 2 :(得分:0)
锚标记 用于需要Href属性的导航。您不应该使用href进行事件处理。代替:
<div class="galleryPreviewArrows">
<a href="" onclick="previousSlide()" class="previousSlideArrow">❮</a>
<a href="" onclick="nextSlide()" class="nextSlideArrow">❯</a>
</div>
答案 3 :(得分:0)
试试这个,
any
答案 4 :(得分:0)
很奇怪..但写作函数dtype=object
有效。看起来应该在interval_list = get_intervals()
interval_array = np.ndarray(len(interval_list), dtype=object)
for i, interv in enumerate(interval_list):
interval_array[i] = interv
准备好之前定义该函数。
这可能是共鸣outside document.ready
始终有效......它是一个内置函数。
这也不是绑定事件列表器的推荐方法。使用jquery document
添加/删除列表器。
alert
&#13;
on/off
&#13;