我有3个div,每个(有效或无效)有2个可能的图像标签。如果一个div被点击激活,则其他div必须设置为不活动。我如何用img标签完成此操作,以及如果用户禁用javascript,会发生什么?jquery互斥点击
0
A
回答
3
你的意思是这样的吗?
<div class="block" id="block1">
<img src='inactive_block1.jpg'>
</div>
<div class="block" id="block2">
<img src='inactive_block2.jpg'>
</div>
<div class="block" id="block3">
<img src='inactive_block3.jpg'>
</div>
使用像jQuery库时,JavaScript将如下所示:
$(function() {
$('.block').click(function() {
$('#block1').find('img').attr('src', 'inactive_block1.jpg');
$('#block2').find('img').attr('src', 'inactive_block2.jpg');
$('#block3').find('img').attr('src', 'inactive_block3.jpg');
$(this).find('img').attr('src', 'active_' + $(this).attr('id') + '.jpg');
});
});
上述内容,如果你有inactive_block1.jpg
,inactive_block2.jpg
,inactive_block3.jpg
和active_block1.jpg
,active_block2.jpg
和active_block3.jpg
你应该得到你想要的。
它是否值得或不让javascript禁用回退,主要取决于您是否期望大量的用户禁用javascript。
1
如果用户禁用JavaScript,则无法执行基于JavaScript的动态修改页面的任何操作。您唯一的选择是创建一个“弃用”版本的功能,每次点击后需要一个页面请求。
我会推荐研究如何从DOM中的元素动态添加/删除类,这就是我将如何处理这个问题。您可以轻松地为所有在点击时处于“活动”状态的元素执行jQuery选择,并为它们设置一个“禁用”类,这样,除了您点击的元素之外,其他所有元素都会变黑。
这有道理吗?
+0
所以我会把所有的活动和不活动的图像标签在HTML中。并添加删除类来禁用它们?或者如上所述并在点击时指定src? – zsharp 2009-01-28 16:20:34
您能否通过添加示例HTML来说明情况? – Ben 2009-01-28 02:45:47
这种行为与上/下投票相同,但也有第三个箭头。 – zsharp 2009-01-28 03:18:09