2013-04-17 195 views
0

好吧所以我想链接一个div与一个按钮,有多个div和每个div将被分配自己的按钮,而我试图实现的是当div是可见改变其按钮的颜色。jQuery链接按钮与div

这是我的代码到目前为止,这是行不通的。

<ul style="padding-left:10em;"> 
    <li id="btID-1">1</li> 
    <li id="btID-2">2</li> 
    <li id="btID-3">3</li> 
    <li id="btID-4">4</li> 
</ul> 
<div id="pgID-1" class="ui-content">content 1</div> 
<div id="pgID-2" class="ui-content">content 2</div> 
<div id="pgID-3" class="ui-content">content 3</div> 
<div id="pgID-4" class="ui-content">content 4</div> 

jQuery代码:

$(document).ready(function() { 
    $('.ui-content').hide(); 
    $('#pgID-1').show(); 
    $(setPage); 


    function setPage() { 

     var active = $('.ui-content:visible'); 
     currPage = $('.ui-content:visible').index(active); 


     currButton = $('.ui-dot').index(currPage); 
     $(currButton).css("color:#ff0000"); 

    } 

}); 

我也想的按钮来显示其股利和隐藏休息。我想知道我的代码有什么问题,以及是否有更好的方法来实现同样的事情。

非常感谢。

+6

请出示你的HTML – Bill

+0

如何创建的dom:是按钮旁边的div还是div中的按钮?这对解决方案的复杂性有很大的影响。 –

+0

是啊旁边的股利没有在它 – user2279712

回答

1

不是100%肯定我理解的要求,但是这应该做的伎俩:

<ul id="btns" style="padding-left:10em;"> 
    <li id="btID-1">1</li> 
    <li id="btID-2">2</li> 
    <li id="btID-3">3</li> 
    <li id="btID-4">4</li> 
</ul> 
<div id="pgID-1" class="ui-content">content 1</div> 
<div id="pgID-2" class="ui-content">content 2</div> 
<div id="pgID-3" class="ui-content">content 3</div> 
<div id="pgID-4" class="ui-content">content 4</div> 

$(document).ready(function() { 
    $('.ui-content').hide(); 
    $('#pgID-1').show(); 

    $('#btns li').click(function(){ 
     $('.ui-content').hide(); 
     $('#btns li').css("color","black"); 
     var IDno = $(this).attr("id").substr(5); 
     $('#pgID-'+IDno).show(); 
     $(this).css("color","red"); 
    }); 

}); 

见的jsfiddle看到它的工作:

http://jsfiddle.net/w5QJK/12/

+0

好吧,但是如果有外部按钮也显示/隐藏div,我将如何设置这些按钮的颜色。 – user2279712

+0

外部按钮?这些外部按钮在哪里?你可以扩展JSFiddle来展示你的意思吗? – MasNotsram

+0

目前我还没有真正在家里复制文件,但我的意思是,我有一个循环浏览页面的下一个/后退按钮。这就是为什么我想,也许我可以使用什么div可见触发新的按钮创建,我想模拟点导航。 – user2279712