Jquery 如何在单击另一个可见图像时使具有“显示:隐藏”的对象显示为“显示:块”
我想实现的是我在这个网站上看到的效果 也就是说,当你点击任何一个主题图片,例如Hoon或Brocco时,你会看到下面主题的扩展。 我已经看到了firebug的代码 我看到:Jquery 如何在单击另一个可见图像时使具有“显示:隐藏”的对象显示为“显示:块”,jquery,css,wordpress,dom-events,Jquery,Css,Wordpress,Dom Events,我想实现的是我在这个网站上看到的效果 也就是说,当你点击任何一个主题图片,例如Hoon或Brocco时,你会看到下面主题的扩展。 我已经看到了firebug的代码 我看到: <div id="theme-gallery" class="content"> <div id="261" class="thumbnail"> <div id="more-info-261"
<div id="theme-gallery" class="content">
<div id="261" class="thumbnail">
<div id="more-info-261" class="hidden">
我知道如何隐藏和阻止某些内容,但我不知道如何使其在单击图像时,描述图像从隐藏变为阻止,这是通过Javascript还是jQuery完成的?可以通过jQuery或Javascript完成。选择包括:
$('.thumbnail').click(function(e){$(e.target).next().show();});
$('.thumbnail').click(function(e){
$('#more-info-' + $(e.target).attr('id')).removeClass('hidden');
});
在任何一种情况下,您都需要为每个缩略图分配一个单击事件处理程序,选择该缩略图的描述,然后通过删除类“hidden”(可能设置display:none
)或显式调用jQuery的show
函数来显示它
不管它值多少钱,我建议这样实现它:
$(document).ready(function(){
$("#theme-gallery").on("click", ".thumbnail", showDescription);
});
function showDescription(e){
$('#more-info-' + $(e.target).attr('id')).removeClass('hidden');
}
使用来分配事件处理程序将使您不会有太多的事件处理程序四处飞来飞去,并将自身附加到加载到主题库中的任何缩略图(例如,通过AJAX)。它还删除了隐藏的类,在我看来,隐藏的类更干净,通常更快。好的,我只需要学习一些jquery know any书籍或网站,教你如何实现它。谢谢:)事实上,我们的解释很好。stackoverflow和google是你最好的朋友。您要查看的区域将是选择器(看起来像$('css-syntax selector')以及jQuery在DOM中的移动方式)、元素属性访问器函数($('selector').attr('attribute name')、元素类mutator函数(它们是$('selector').addClass('className')和$('selector').removeClass('className'))等等(将事件绑定到节点/其select子代,查看jQuery事件和后台的click函数)。
$(document).ready(function(){
$("#theme-gallery").on("click", ".thumbnail", showDescription);
});
function showDescription(e){
$('#more-info-' + $(e.target).attr('id')).removeClass('hidden');
}