首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery / Jquery UI :显示div并更改图像,然后执行相反的操作

jquery / Jquery UI :显示div并更改图像,然后执行相反的操作
EN

Stack Overflow用户
提问于 2012-03-17 19:21:26
回答 1查看 753关注 0票数 0

这是我想要做的:

我想做一个网页的标题,在他们下面放一个小"+“图像,这将在点击包装一个包含与标题链接的细节的div。另外,我希望它将onclick上的"+“图像切换为"-”新图像,然后如果我的用户单击此新图片,则会发生相反的效果,div消失包装,图像切换回"+“图片。

因此,基本上我使用Jquery/JqueryUI来使用hide()和show()函数,并使用Blind效果来获得想要的效果。

这是我的代码,但是,它只是包装了div,那么相反的效果就不起作用了。有什么解决方案吗?

代码语言:javascript
复制
 jQuery(document).ready(function()
{
    $(".expla").hide();
    $(".grinder img").bind('click',function () {
        if($('.grinder').hasClass('plus'))
        {
            $('.grinder img').replaceWith('<img src="image/minus.png" />');
            $('.expla.egrinder').show("blind", 5000);   
            $('.grinder').removeClass('plus');


        }
        else    
        {
            $('.grinder img').replaceWith('<img src="image/add.png" />');
            $('.expla.egrinder').hide("blind", 5000);
            $('.grinder').addClass('plus');
        }
    });
})

下面是我的HTML代码:

代码语言:javascript
复制
 <div id="grinder">
                <div class="title grinder plus"><p>Grinder<br /><img src="image/add.png" /></p></div>
                <div class="expla egrinder"><img src="image/grinder.png" /></div>
            </div>
            <div id="flyer">
                <div class="title flyer plus"><p>Flyer<br /><img src="image/add.png" /></p></div>
                <div class="expla eflyer"><img src="image/flyer.png" /></div>
            </div>
            <div id="whack">
                <div class="title whack plus"><p>WHack<br /><img src="image/add.png" /></p></div>
                <div class="expla ewhack"><img src="image/whack.png" /></div>

            </div>

好吧,我还不能回答我自己的问题,但这是我得到的解决方案,感谢Paresh Balar:

代码语言:javascript
复制
jQuery(document).ready(function()
{
    $(".expla").hide();


    $(".grinder img").click(function () {
        if($('.grinder').hasClass('plus'))
        {
            $('.grinder img').attr({src: "image/minus.png" });
            $('.expla.egrinder').show("blind", 5000);   
            $('.grinder').removeClass('plus');


        }
        else    
        {
            $('.grinder img').attr({src: "image/add.png" });

            $('.expla.egrinder').hide("blind", 5000);
            $('.grinder').addClass('plus');


        }
    });
})
EN

回答 1

Stack Overflow用户

发布于 2012-03-17 19:54:42

你只需要往下滑然后往上滑..

请参阅此演示:

http://jsfiddle.net/JLy3t/

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

https://stackoverflow.com/questions/9749586

复制
相关文章

相似问题

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