如何在jQuery

时间:2015-09-07 22:38:30

标签: jquery

你好我实际上有一个安静的简单问题,

我有一个计数器运行(a)并想要用计数器选择一个id: 因此,如果计数器(a)是“1”,我将选择ID#BG01。 但它没有这样做。我在说什么错? 我甚至试过+“a”得到一个字符串,但没有。

请帮助,谢谢。 **解决了请参见下面的最终代码**

在定稿期间提出的一个问题: 如何暂停代码1秒钟,想要在顶部#BG淡入时暂停脚本(不是真正的问题atm但你可以看到训练有素的身体BG一瞬间,我认为这是因为脚本继续执行,而css处理转换,所以将它设置为“暂停”是有意义的。我尝试了setTimeout但只有长度值它似乎不起作用..任何想法?谢谢

HTML:
<div id="container">
<div id="BG01"></div>
<div id="BG02"></div> 
<div id="BG03"></div> 
<div id="BG04"></div> 
</div>

jQuery:

var b=0,
    a=1;

setInterval ( function(){
if (b==0) { function() {
    $('#BG0' + a).css({
            "display": "block",
            "z-index": "10",
            "opacity": "1"});
    b=2;
    }
}
else {
    if (b===5) { function() {
        b=1;
        $('#BG0' + a).css("z-index", "1");
        $('#BG0' + b).css({
                    "z-index": "10",
                    "display": "block",
                    "opacity": "1"});
        $('#BG0' + a).css({
                    "z-index": "-99",
                    "display": "none",
                    "opacity": "0"});
        a=b;
        b=++b;
        }

    }
    else { function(){
        $('#BG0' + a).css("z-index", "1");
        $('#BG0' + b).css({
                    "z-index": "10",
                    "display": "block",
                    "opacity": "1"});
        $('#BG0' + a).css({
                    "z-index": "-99",
                    "display": "none",
                    "opacity": "0"});
        a=b;
        b=++b;          


        }

    }


}   
}, 5000);

最终工作代码:

var y=0;
var x=1;

function divcycle(){
        $('#BG0'+ x).css("z-index", "1");
        $('#BG0'+ y).css({
                    "z-index": "10",
                    "opacity": "1"});
        $('#BG0'+ x).css({
                    "opacity": "0",
                    "z-index": "-99"});
        x=y;
        y=y+1;
}   

setInterval ( function(){
if (y==0) {
    $('#BG0' + x).css({
            "z-index": "10",
            "opacity": "1"});
    y=2;
}
else {
    if (y==5) {
        y=1;
        divcycle();
    }
    else { 
        divcycle();     
    }
}   
}, 10000);

1 个答案:

答案 0 :(得分:0)

我认为什么都没发生,因为你的例子充满了语法错误。我修复了所有错误,现在似乎工作正常。

在JSFiddle上试试:

https://jsfiddle.net/h1Lqcaex/3/

var b=0;
var a=1;

function setInterval(){
if (b==0) {
    $('#BG0' + a).css({
            "display": "block",
            "z-index": "10",
            "opacity": "1"});
    b=2;

}
else {
    if (b===5) {
        b=1;
        $('#BG0' + a).css("z-index", "1");
        $('#BG0' + b).css({
                    "z-index": "10",
                    "display": "block",
                    "opacity": "1"});
        $('#BG0' + a).css({
                    "z-index": "-99",
                    "display": "none",
                    "opacity": "0"});
        a=b;
        b+=1;


    }
    else {
        $('#BG0' + a).css("z-index", "1");
        $('#BG0' + b).css({
                    "z-index": "10",
                    "display": "block",
                    "opacity": "1"});
        $('#BG0' + a).css({
                    "z-index": "-99",
                    "display": "none",
                    "opacity": "0"});
        a=b;
        b+=1;          


        }

    }


}
setInterval();