2013-08-24 150 views
2

我有一個使用點擊和jquery的褪色一個按鈕被點擊時,顯示一個div,然後改變按鈕的狀態下面....更改個人按鈕狀態

http://jsfiddle.net/ttj9J/5/

HTML

<a class="link" href="#" data-rel="content1"><img src="http://i.imgur.com/vi1KLp9.png"></a> 
<a class="link" href="#" data-rel="content2"><img src="http://i.imgur.com/u1SbuRE.png"></a> 
<a class="link" href="#" data-rel="content3"><img src="http://i.imgur.com/u1SbuRE.png"></a> 
<a class="link" href="#" data-rel="content4"><img src="http://i.imgur.com/u1SbuRE.png"></a> 
<a class="link" href="#" data-rel="content5"><img src="http://i.imgur.com/u1SbuRE.png"></a> 

<div class="content-container"> 
    <div id="content1">This is the test content for part 1</div> 
    <div id="content2">This is the test content for part 2</div> 
    <div id="content3">This is the test content for part 3</div> 
    <div id="content4">This is the test content for part 4</div> 
    <div id="content5">This is the test content for part 5</div> 
</div> 

CSS

.content-container { 
    position: relative; 
    width: 400px; 
    height: 400px; 
} 
.content-container div { 
    display: none; 
    position: absolute; 
    top: 0; 
    left: 0; 
    right: 0; 
    bottom: 0; 
} 

JQUERY

$(".link").click(function(e) { 
     e.preventDefault(); 
     $('.content-container div').fadeOut('slow'); 
     $('#' + $(this).data('rel')).fadeIn('slow'); 
     $(".link img").attr("src", "http://i.imgur.com/u1SbuRE.png"); 
     $(this).find("img").attr("src", "http://i.imgur.com/vi1KLp9.png"); 
}); 

$(document).ready(function() { 
    $(".link")[0].click(); 
}); 

這一切工作很大,但我試圖做的是有不同的按鈕/按鍵按下每個五個按鈕的圖像。誰能幫忙?

回答

0

您應該使用背景圖像而不是圖像。然後,你可以通過CSS添加.active類,並定義背景圖片爲您的所有按鈕,如:

.link[data-rel="content3"] .active { 
    background-image: url(....); 
} 

編輯:

http://jsfiddle.net/ttj9J/23/

現在你可以跟我描述添加類上述

+0

我曾經這樣做過,而不是這樣做。你有一個例子或鏈接到一個,所以我可以讀? – fightstarr20

+0

我添加了一個工作小提琴 –

0

DEMO

function handler1() { 
    $(this).find("img").attr("src", "http://i.imgur.com/vi1KLp9.png"); 
    $(this).one("click", handler2); 
} 

function handler2() { 
    $(this).find("img").attr("src", "http://i.imgur.com/u1SbuRE.png"); 
    $(this).one("click", handler1); 
} 
$(".link").one("click", handler1); 

Another DEMO - 通過類> CSS方法

移走用於img標籤只a標籤

HTML

<a class="link active" href="#" data-rel="content1"></a> 

<a class="link" href="#" data-rel="content2"></a> 

<a class="link" href="#" data-rel="content3"></a> 

<a class="link" href="#" data-rel="content4"></a> 

<a class="link" href="#" data-rel="content5"></a> 

CSS

.link { 
    content:url("http://i.imgur.com/vi1KLp9.png"); 

} 
.active { 
    content:url("http://i.imgur.com/u1SbuRE.png"); 
} 

JS

$(".link").click(function() { 
    $(this).toggleClass('active'); 
}); 

後OP的評論

DEMO

JS

$(".link").click(function (e) { 
    e.preventDefault(); 
    $('.content-container div').fadeOut('slow'); 
    $('#' + $(this).data('rel')).fadeIn('slow'); 
    $('.link').removeClass('active'); 
    $(this).toggleClass('active'); 
}); 

$(document).ready(function() { 
    $(".link")[0].click(); 
}); 

CSS

.link { 
    content:url("http://i.imgur.com/u1SbuRE.png"); 
} 
.active { 
    content:url("http://i.imgur.com/vi1KLp9.png"); 
} 
+0

這是如何與其他按鈕交互?在我最初的例子中,當一個按鈕變爲活動狀態時,另一個按鈕變爲不活動狀態 – fightstarr20

+0

對不起,您剛剛離開我時比我剛開始時更困惑。在我的原始版本中,一次只能激活一個按鈕。在你的版本中,所有的按鈕都有單獨的狀態 – fightstarr20

+0

我現在有這個版本,但它仍然允許多個按鈕被激活http://jsfiddle.net/ttj9J/10/ – fightstarr20