jQuery函数仅工作一次

unidentified-1

我已经设置了一个功能,希望在网页上以多种方式使用。

在该示例中,有两个按钮/触发器。一个触发器是一个类,另一个是ID。OverActivate(类)翻转将使.cycle1和.cycle2开始播放。OverDrive(id)翻转将使.cycle3开始播放。

在给定的示例中,该函数被调用了三次。1.它只运行一次。2.它在一个触发器和另一个触发器之间混杂在一起。

id和class的组合不是问题,我已经对其进行了测试。问题似乎在于此功能/循环...

function player() {
    int = setInterval(function(){
        id.eq(i % l);
        i++;
        id.hide().eq(i % l).show();
    }, $speed );
}

但我不知道为什么。

任何帮助将非常感激。

小提琴:

http://jsfiddle.net/HRPLS/1/

jQuery代码:

function mh2($id,$trigger,$speed){
    id = $($id), l = id.length, i = 0;
    id.css({ 'display':'none' });
    $($id+':eq(0)').css({ 'display':'inline' });

var int;
function player() {
    int = setInterval(function(){
        id.eq(i % l); i++; id.hide().eq(i % l).show(); },
        $speed );
    }

$($trigger).mouseenter(function(){
    clearInterval(int);
    player();
}).mouseleave(function(){
    clearInterval(int);
});
}

mh2('.cycle1','.switch',700);
mh2('.cycle2','.switch',500);
mh2('.cycle3','#switch2',300);

HTML示例:

<style>
.switch, #switch2 {
    display:block; padding:10px; color:#fff; background:#888;
}
.switch:hover {
    cursor:pointer; color:#8f8; background:#080;
}
#switch2:hover {
    cursor:pointer; color:#f88; background:#800;
}
.cycle1, .cycle2, .cycle3 {
    border:1px solid #999; max-width:200px; max-height:200px; margin:20px;
}
</style>

<div class="switch">OverActivate</div>

<img src="car1.jpg" class="cycle1">
<img src="car2.jpg" class="cycle1">
<img src="car3.jpg" class="cycle1">
<img src="car4.jpg" class="cycle1">

<img src="tire1.jpg" class="cycle2">
<img src="tire2.jpg" class="cycle2">
<img src="tire3.jpg" class="cycle2">
<img src="tire4.jpg" class="cycle2">

<hr>

<div id="switch2">OverDrive</div>

<img src="bike1.jpg" class="cycle3">
<img src="bike2.jpg" class="cycle3">
<img src="bike3.jpg" class="cycle3">
<img src="bike4.jpg" class="cycle3">
巴尔玛

需要声明的变量idl以及ivar使每个调用mh2()将创建在这些变量关闭。没有这个,它们就是全局变量,它们只包含上次调用时的值mh2()

function mh2($id, $trigger, $speed) {
    var id = $($id),  l = id.length,  i = 0;
    ...
}

纠正小提琴

另请参阅:JavaScript闭包如何工作?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP函数仅工作一次

来自分类Dev

jQuery单击仅工作一次

来自分类Dev

jQuery:Eventhandler仅工作一次

来自分类Dev

jQuery单击仅工作一次

来自分类Dev

jQuery .on('click')仅工作一次

来自分类Dev

jQuery .change()仅工作一次

来自分类Dev

jQuery:Eventhandler仅工作一次

来自分类Dev

jQuery函数仅运行一次

来自分类Dev

仅触发一次jQuery函数?

来自分类Dev

jQuery函数仅运行一次

来自分类Dev

jQuery table Sorter,排序仅工作一次

来自分类Dev

jQuery单击功能仅工作一次(新情况)

来自分类Dev

<button> jQuery onclick仅工作一次

来自分类Dev

jQuery切换仅工作一次

来自分类Dev

jQuery FadeIn FadeOut仅工作一次

来自分类Dev

jQuery触发器('click')仅工作一次

来自分类Dev

jQuery on('click')....函数仅执行一次

来自分类Dev

jQuery .load()函数仅更改一次内容

来自分类Dev

jQuery .change()函数必须仅触发一次

来自分类Dev

jQuery(window).resize函数仅触发一次,而不是每个像素触发一次

来自分类Dev

jQuery(window).resize函数仅触发一次,而不是每个像素触发一次

来自分类Dev

jquery .load()函数仅在第一次工作

来自分类Dev

Angular指令仅工作一次

来自分类Dev

this-> Hide()仅工作一次

来自分类Dev

.animate()仅工作一次

来自分类Dev

Ajax请求仅工作一次

来自分类Dev

__doPostBack on事件仅工作一次

来自分类Dev

PreferenceFragment OnPreferenceClickListener()仅工作一次

来自分类Dev

Mouseout仅工作一次