jquery - 如何修复这个 jQuery SlideToggle?

标签 jquery slidetoggle

我想做的是,当单击 dl/dt 库中的图像时,在一行图像下独立地滑动切换文本 div,如下所示:

dl and dt gallery

但是当然我至少做错了一些事情。标记位于 jQuery 选项卡中可能会很复杂,但情况可能并非如此。 jsfiddle在这里: http://jsfiddle.net/Yfs2V/8/

我认为该功能有问题:

jQuery 函数:

$(".bkcontent").hide();
$("#bookimggallery dt").click(function() {
    $(".bkcontent").hide();
$(this).parent().children(".bkcontent").slideToggle(500); });

HTML:

<div id="bookimggallery">

    <dl class="gallery"><dt><img alt="img" src=""></dt>
        <dt>Image Title One</dt></dl>

    <dl class="gallery"><dt><img alt="img" src=""></dt>
        <dt>Image Title Two</dt></dl>

    <dl class="gallery"><dt><img alt="img" src=""></dt>
        <dt>Image Title Three</dt></dl>

    <dl class="gallery"><dt><img alt="img" src=""></dt>
        <dt>Image Title Four</dt></dl>

    <dl class="gallery"><dt><img alt="img" src=""></dt>
        <dt>Image Title Five</dt></dl>

</div>

<div id="booktextdiv">

<div class="bkcontent">Lorum Ipsum....</div>

<div class="bkcontent">Lorum Ipsum....</div>

<div class="bkcontent">Lorum Ipsum....</div>

<div class="bkcontent">Lorum Ipsum....</div>

<div class="bkcontent">Lorum Ipsum....</div>

</div>

CSS:

#bookimggallery { width: 600px; height:200px; margin:2px; text-align: center;}

dl.gallery {width: 93px; text-align: center; float: left;}

.gallery dt { width: 80px; margin-top:2px; font-size: .7em; text-align:center;}

#booktextdiv span {display:none}

*(omitted tabs CSS for clairity)*

最佳答案

这里出现了一些问题。我认为主要是您用来访问书籍点击的选择器,而且它的文本似乎没有以任何方式链接到书籍库项目。

我修改了你的code slightly here

基本更改是 HTML:

<dl class="gallery" rel="one">

添加 rel="blahh"dl每本书的,这将对应于文本 div

<div class="bkcontent" id="one">

添加 id="blah"div包含本书的文本

jQuery 更改:

$("#bookimggallery  dt").click(function() {
    $(".bkcontent").hide();
    var textid = $(this).parent('dl').attr('rel');
    $('#'+textid).slideToggle(500); 
});

  • 选择器现在选择所有 dt位于div内与 id="bookimggallery"
  • 然后它会从 rel="blah" 获取 id ,然后滑动切换它。

    在不完全重新安排代码布局的情况下,这就是我的做法。

  • 关于jquery - 如何修复这个 jQuery SlideToggle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5837563/

    相关文章:

    javascript - 为什么不对依赖选择进行 jquery 验证?

    Javascript:动态添加的脚本无法在另一个脚本中找到先前定义的函数

    jquery - 如何使用 JQuery 提供的多个 div 在单击时一次对一个 div 应用切换幻灯片效果?

    c# - 单击链接时尝试将 css 应用于 jQuery slideToggle

    javascript - 使用正则表达式替换/删除 IP 地址

    javascript - 在 javascript 函数中保存状态

    jquery - 这个边距/填充从哪里来

    javascript - jquery.children 仅适用于第一个 child

    jQuery .slideToggle 不产生屏幕变化

    javascript - 显示 block 添加滑动效果不显示div