首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery html转换

jQuery html转换
EN

Stack Overflow用户
提问于 2011-12-26 22:26:07
回答 2查看 1.6K关注 0票数 1

我还在学习jQuery,现在我想做的是将html()方法和一个转换(比如hide()show() )结合起来,以便改变一个具有转换效果的div的html。这是我尝试过的:

代码语言:javascript
运行
复制
$('div.content_box').hide(1000).html(return_html).show(1000);

其中PHP是div,其内容/ div.content_box应通过转换进行更改,而return_html包含通过ajax()方法请求的PHP文件返回的html。

然而,这并没有给我想要的结果。它不是先隐藏div,然后更改它的html,然后再次显示它,而是在它仍然隐藏它的时候就已经更改了div的HTML内容。

有没有人知道我如何才能正确地工作(其中的操作是按正确的顺序执行的,一次执行一个)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-26 22:33:24

有许多方法可以归档您想要的内容:

hide上使用回调:http://jsfiddle.net/VbkNE/

代码语言:javascript
运行
复制
$('div.content_box').hide(1000, function() {
    $(this).html(return_html).show(1000);
});

使用queuehttp://jsfiddle.net/VbkNE/1/

代码语言:javascript
运行
复制
$('div.content_box').hide(1000).queue(function(next) {
    $(this).html(return_html);
    next();
}).show(1000);

使用原生setTimeouthttp://jsfiddle.net/VbkNE/2/

代码语言:javascript
运行
复制
$('div.content_box').hide(1000);
setTimeout(function() {
    $('div.content_box').html(return_html).show(1000)
}, 1000);

在你的情况下,使用延迟是行不通的,引用jQuery API - delay

只延迟队列中的后续事件;例如,这不会延迟.show()或.hide()等不使用effects队列的无参数形式。

在本例中,我使用回调方法-因为您不需要像在setTimeout中那样重新定义选择器,也不需要像在queue示例中的next()那样移动队列存量,但是请注意queue方法是多么强大。例如,用于链接AJAX调用。

票数 4
EN

Stack Overflow用户

发布于 2011-12-26 22:29:23

在链中使用jquery delay():http://api.jquery.com/delay/

我认为在一个链中使用hide()和show()是行不通的。

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

https://stackoverflow.com/questions/8636596

复制
相关文章

相似问题

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