我有一系列div(显示图形)。单击一个图形div,然后用div写入。
$("#graphic1").click(function(){
$("#text").html("Something important goes here.")
}
但是,如果用户在显示graphic8时单击了graphic1,我希望它能够执行其他操作
if (graphic8 was active before graphic1 was clicked){
do this
} else {
do that
}
进一步解释
编辑9/14以回答答案
以下是jsfiddle的一个简单示例:http://jsfiddle.net/MAYO/2DEnY/2/
我希望div为 切换 2.选择新div时,下面显示说明。我试过并且没有做if / else子句的组合。 3.完成这一点后(我认为解决这个问题会解决下一个问题)我希望文本描述能够根据之前活动的div而有所不同。
答案 0 :(得分:2)
为任何已点击的项目添加一个类,并为每个新单击选择该类,从该元素中读取您想要的任何内容,删除该类,然后将其再次添加到新项目中。
小提琴演示:
<强> jQuery的:强>
$(function(){
$('a').click(function(){
if($('a.active')[0]){
$('a.active').removeClass("active");
$(this).addClass("active");
}else{
$(this).addClass("active");
}
});
});
在阅读完编辑后,据我所知,您可以使用数据属性为每个div存储一些内容,然后在按下后显示它。
或许有些人会这么说吗? http://jsfiddle.net/2DEnY/4/答案 1 :(得分:1)
假设你的html结构看起来像
<div id="graphic1" class="graphic">
</div>
<div id="graphic2" class="graphic">
</div>
<div id="graphic3" class="graphic">
</div>
...
你的js代码就像
$(".graphic").click(function(){
var $before = $(".graphic.active"); //previously active div, do what ever you want,
//remember to check whether $before is null or equals to
//$(this)
$before.removeClass("active");
$(this).addClass("active");
$("#text").html("Something important goes here.")
});