首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止类的所有引用受到触发函数的影响

防止类的所有引用受到触发函数的影响
EN

Stack Overflow用户
提问于 2011-04-28 04:05:43
回答 3查看 64关注 0票数 2

我怎么能只影响+读取BIO DIV我点击并切换下面的P.bio类,而不是页面上的每个实例?我很感谢你的帮助。谢谢!

HTML:

代码语言:javascript
复制
<div class="bio-link"></div><p class="bio">This is a bio #1</p>
<div class="bio-link"></div><p class="bio">This is a bio #2</p>

jQuery:

代码语言:javascript
复制
//Bio Toggle
closebio = "- CLOSE BIO";
showbio = "+ READ BIO"
$(".bio-link").html(showbio);
$(".bio").hide();
$(".bio-link").click(function() {
    if ($(".bio").is(":hidden")) {
        $(".bio:hidden").fadeIn();
        $(".bio-link").html(closebio);
    } else {
        $(".bio").fadeOut();
        $(".bio-link").html(showbio);
    }
});
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-28 04:11:40

使用.toggle()和$(this),如下所示:

代码语言:javascript
复制
    $(function(){
     //Bio Toggle
     closebio = "- CLOSE BIO";
     showbio = "+ READ BIO"
     $(".bio-link").html(showbio);
     $(".bio").hide();
     $(".bio-link").toggle(function() {
         $(this).html(closebio).next('.bio').fadeIn();
     },function(){    
         $(this).html(showbio).next('.bio').fadeOut();
     });      
    })

请参阅http://jsfiddle.net/MBMef/1/

票数 2
EN

Stack Overflow用户

发布于 2011-04-28 04:10:17

这样做是可行的:

代码语言:javascript
复制
$(".bio-link").click(function() {
    var bio = $(this).next('p');
    if (bio.is(":hidden")) {
        bio.fadeIn();
        $(this).html(closebio);
    } else {
        bio.fadeOut();
        $(this).html(showbio);
    }
});

http://jsfiddle.net/dxVNx/1/

此外,您还应该使用var关键字声明HTML /show变量,并且不要使用缺少的分号(只是为了更好的度量/实践)。

代码语言:javascript
复制
var closebio = "- CLOSE BIO";
var showbio = "+ READ BIO";
票数 0
EN

Stack Overflow用户

发布于 2011-04-28 04:10:54

您可以使用jQuery的.next()选择器;$(this).next().fadeIn();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5813501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档